Pdf/demo/text_annotation_demo.tsl

113 lines
3.1 KiB
Plaintext

Uses TSPdfEnumerations;
{$IFDEF LINUX}
separator := "/";
{$ELSE}
separator := "\\";
{$ENDIF}
alias := "";
path := "";
InitCmdParams(alias, path);
output_file := "text_annotation_demo.pdf";
output_file := path + separator + output_file;
pdf := new PdfFile();
// use Times-Roman font.
font := pdf.GetFont("Times-Roman", "WinAnsiEncoding");
page := pdf.AddPage();
page.SetWidth(400);
page.SetHeight(500);
page.BeginText();
page.SetFontAndSize(font, 16);
page.MoveTextPos(130, 450);
page.ShowText("Annotation Demo");
page.EndText();
rect1 := array(50, 350, 150, 400);
rect2 := array(210, 350, 350, 400);
rect3 := array(50, 250, 150, 300);
rect4 := array(210, 250, 350, 300);
rect5 := array(50, 150, 150, 200);
rect6 := array(210, 150, 350, 200);
rect7 := array(50, 50, 150, 100);
rect8 := array(210, 50, 350, 100);
annotation := page.CreateTextAnnot(rect1, "Annotation with Comment Icon. \n This annotation set to be opened initially.", nil);
annotation.TextAnnotSetIcon(TSPdfEnumerations.ANNOT_ICON_COMMENT);
annotation.TextAnnotSetOpened(true);
annotation := page.CreateTextAnnot(rect2, "Annotation with Key Icon", nil);
annotation.TextAnnotSetIcon(TSPdfEnumerations.ANNOT_ICON_PARAGRAPH);
annotation := page.CreateTextAnnot(rect3, "Annotation with Note Icon", nil);
annotation.TextAnnotSetIcon(TSPdfEnumerations.ANNOT_ICON_NOTE);
annotation := page.CreateTextAnnot(rect4, "Annotation with Help Icon", nil);
annotation.TextAnnotSetIcon(TSPdfEnumerations.ANNOT_ICON_HELP);
annotation := page.CreateTextAnnot(rect5, "Annotation with NewParagraph Icon", nil);
annotation.TextAnnotSetIcon(TSPdfEnumerations.ANNOT_ICON_NEW_PARAGRAPH);
annotation := page.CreateTextAnnot(rect6, "Annotation with Paragraph Icon", nil);
annotation.TextAnnotSetIcon(TSPdfEnumerations.ANNOT_ICON_PARAGRAPH);
annotation := page.CreateTextAnnot(rect7, "Annotation with Insert Icon", nil);
annotation.TextAnnotSetIcon(TSPdfEnumerations.ANNOT_ICON_INSERT);
encoding := pdf.GetEncoder("ISO8859-2");
page.CreateTextAnnot(rect8, "Annotation with ISO8859 text стужвьы", encoding);
page.SetFontAndSize(font, 11);
page.BeginText();
page.MoveTextPos(rect1[0] + 35, rect1[3] - 20);
page.ShowText("Comment Icon.");
page.EndText();
page.BeginText();
page.MoveTextPos(rect2[0] + 35, rect2[3] - 20);
page.ShowText("Key Icon");
page.EndText();
page.BeginText();
page.MoveTextPos(rect3[0] + 35, rect3[3] - 20);
page.ShowText("Note Icon.");
page.EndText();
page.BeginText();
page.MoveTextPos(rect4[0] + 35, rect4[3] - 20);
page.ShowText("Help Icon");
page.EndText();
page.BeginText();
page.MoveTextPos(rect5[0] + 35, rect5[3] - 20);
page.ShowText("NewParagraph Icon");
page.EndText();
page.BeginText();
page.MoveTextPos(rect6[0] + 35, rect6[3] - 20);
page.ShowText("Paragraph Icon");
page.EndText();
page.BeginText();
page.MoveTextPos(rect7[0] + 35, rect7[3] - 20);
page.ShowText("Insert Icon");
page.EndText();
page.BeginText();
page.MoveTextPos(rect8[0] + 35, rect8[3] - 20);
page.ShowText("Text Icon(ISO8859-2 text)");
page.EndText();
// save the document to a file
err := pdf.SaveToFile(alias, output_file);
echo "SaveToFile::\t", "err := ", format("%x", err), "\toutput_file := ", output_file, "\n";
return;