抽象page为tspage对象,增加索引

This commit is contained in:
csh
2024-07-11 14:14:54 +08:00
parent d3f9431b26
commit cfc2d74ab8
10 changed files with 71 additions and 71 deletions
+2 -2
View File
@@ -11,7 +11,7 @@ public
Width: real;
FixedHeight: real;
DynamicHeight: real;
Page: PdfPage;
[weakref]TSPage: TSPage;
end;
function TSPdfBasicRange.Create();
@@ -23,5 +23,5 @@ begin
{self.}Width := 0;
{self.}FixedHeight := 0;
{self.}DynamicHeight := 0;
{self.}Page := nil;
{self.}TSPage := nil;
end;
+5 -5
View File
@@ -16,13 +16,13 @@ end;
function TSPdfImageRange.Do();
begin
// println("image = {}, x = {}, y = {}, w = {}, h = {}", {self.}image, {self.}endx, {self.}endy, {self.}width, {self.}DynamicHeight);
{self.}Page.DrawImage({self.}Image, {self.}EndX, {self.}EndY, {self.}Width, {self.}DynamicHeight);
{self.}TSPage.PdfPage.DrawImage({self.}Image, {self.}EndX, {self.}EndY, {self.}Width, {self.}DynamicHeight);
if sysparams["_PDF_IMAGE_DEBUG_"] then
begin
{self.}Page.SetLineWidth(0.1);
{self.}Page.SetRGBStroke(0.8, 0.8, 0);
{self.}Page.Rectangle({self.}EndX, {self.}EndY, {self.}Width, {self.}DynamicHeight);
{self.}Page.Stroke();
{self.}TSPage.PdfPage.SetLineWidth(0.1);
{self.}TSPage.PdfPage.SetRGBStroke(0.8, 0.8, 0);
{self.}TSPage.PdfPage.Rectangle({self.}EndX, {self.}EndY, {self.}Width, {self.}DynamicHeight);
{self.}TSPage.PdfPage.Stroke();
end
end;
+5 -5
View File
@@ -14,9 +14,9 @@ function TSPdfRectangleRange.Do();override;
begin
// {self.}Page.SetRGBStroke(1.0, 0.0, 0.0);
// println("page = {}, endx = {}, endy = {}, DynamicHeight = {}, Width = {}", {self.}Page, {self.}EndX, {self.}EndY, {self.}DynamicHeight, {self.}Width);
{self.}Page.SetGrayStroke(0.5);
{self.}Page.SetLineWidth(0.5);
{self.}Page.Rectangle({self.}EndX, {self.}EndY - {self.}DynamicHeight, {self.}Width, {self.}DynamicHeight);
{self.}Page.Stroke();
{self.}Page.SetGrayStroke(0);
{self.}TSPage.PdfPage.SetGrayStroke(0.5);
{self.}TSPage.PdfPage.SetLineWidth(0.5);
{self.}TSPage.PdfPage.Rectangle({self.}EndX, {self.}EndY - {self.}DynamicHeight, {self.}Width, {self.}DynamicHeight);
{self.}TSPage.PdfPage.Stroke();
{self.}TSPage.PdfPage.SetGrayStroke(0);
end;
+11 -11
View File
@@ -23,21 +23,21 @@ begin
// println("text = {}, endx = {}, endy = {}, width = {}, page = {}", ansiToUtf8(text), endx, endy, width, page);
[r, g, b] := array(0, 0, 0);
if {self.}RPr.Color.Val then [r, g, b] := TSColorToolKit.HexToRGB({self.}RPr.Color.Val);
{self.}Page.SetRGBFill(r / 255, g / 255, b / 255);
{self.}Page.SetFontAndSize({self.}Font, {self.}RPr.Sz.Val);
{self.}Page.BeginText();
{self.}Page.TextOut({self.}EndX, {self.}EndY, {self.}Text);
{self.}Page.EndText();
{self.}Page.SetRGBFill(0, 0, 0);
{self.}TSPage.PdfPage.SetRGBFill(r / 255, g / 255, b / 255);
{self.}TSPage.PdfPage.SetFontAndSize({self.}Font, {self.}RPr.Sz.Val);
{self.}TSPage.PdfPage.BeginText();
{self.}TSPage.PdfPage.TextOut({self.}EndX, {self.}EndY, {self.}Text);
{self.}TSPage.PdfPage.EndText();
{self.}TSPage.PdfPage.SetRGBFill(0, 0, 0);
if sysparams["_PDF_TEXT_DEBUG_"] then
begin
{self.}Page.SetLineWidth(0.1);
{self.}Page.SetRGBStroke(1.0, 0.5, 0.0);
{self.}Page.MoveTo(0, {self.}EndY);
{self.}Page.LineTo(600, {self.}EndY);
{self.}Page.Stroke();
{self.}TSPage.PdfPage.SetLineWidth(0.1);
{self.}TSPage.PdfPage.SetRGBStroke(1.0, 0.5, 0.0);
{self.}TSPage.PdfPage.MoveTo(0, {self.}EndY);
{self.}TSPage.PdfPage.LineTo(600, {self.}EndY);
{self.}TSPage.PdfPage.Stroke();
end
end;