PdfConverter/range/TSPdfTextRange.tsf

34 lines
903 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);
{$DEFINE WordToPdfTEST}
{$IFDEF WordToPdfTEST}
self.Page.SetLineWidth(0.5);
self.Page.SetGrayStroke(0.5);
self.Page.MoveTo(0, self.Y);
self.Page.LineTo(90, self.Y);
self.Page.Stroke();
{$ENDIF}
end;