35 lines
906 B
Plaintext
35 lines
906 B
Plaintext
type TSPdfTextRange = class(TSPdfAbstractRange)
|
|
uses TSColorToolKit;
|
|
public
|
|
function Do();override;
|
|
public
|
|
RPr: RPr;
|
|
Text: string;
|
|
Font: PdfFont;
|
|
Page: PdfPage;
|
|
end;
|
|
|
|
function TSPdfTextRange.Do();
|
|
begin
|
|
// println("text = {}, x = {}, y = {}, w = {}, sz = {}", ansiToUtf8(text), x, y, w);
|
|
[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.X, self.Y, self.Text);
|
|
self.Page.EndText();
|
|
self.Page.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.Y);
|
|
self.Page.LineTo(600, self.Y);
|
|
self.Page.Stroke();
|
|
end
|
|
end;
|
|
|