抽象page为tspage对象,增加索引
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user