Pdf/demo/ttfont_demo.tsl

92 lines
2.1 KiB
Plaintext

Uses TSPdfEnumerations;
{$IFDEF LINUX}
separator := "/";
{$ELSE}
separator := "\\";
{$ENDIF}
alias := "";
path := "";
InitCmdParams(alias, path);
output_file := "ttfont_demo.pdf";
output_file := path + separator + output_file;
SAMP_TXT := "这是中文";
pdf := new PdfFile();
// declaration for using Chinese encoding.
pdf.UseUTFEncodings();
pdf.SetCompressionMode(TSPdfEnumerations.COMP_ALL);
// load ttc file
ttf_file := path + separator + "ttfont" + separator + "simhei.ttf";
detail_font_name := pdf.LoadTTFontFromFile(alias, ttf_file, true);
// add a new page object.
page := pdf.AddPage();
title_font := pdf.GetFont("Helvetica", "");
detail_font := pdf.GetFont(detail_font_name, "UTF-8");
page.SetFontAndSize(title_font, 10);
page.BeginText();
// move the position of the text to top of the page.
page.MoveTextPos(10, 190);
page.ShowText(detail_font_name);
page.ShowText("(");
encoding_name := detail_font.GetEncodingName();
page.ShowText(encoding_name);
page.ShowText(")");
page.SetFontAndSize(detail_font, 15);
page.MoveTextPos(10, -20);
page.ShowText("abcdefghijklmnopqrstuvwxyz");
page.MoveTextPos(0, -20);
page.ShowText("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
page.MoveTextPos(0, -20);
page.ShowText("1234567890");
page.MoveTextPos(0, -20);
page.SetFontAndSize(detail_font, 10);
page.ShowText(SAMP_TXT);
page.MoveTextPos(0, -18);
page.SetFontAndSize(detail_font, 16);
page.ShowText(SAMP_TXT);
page.MoveTextPos(0, -27);
page.SetFontAndSize(detail_font, 23);
page.ShowText(SAMP_TXT);
page.MoveTextPos(0, -36);
page.SetFontAndSize(detail_font, 30);
page.ShowText(SAMP_TXT);
page.MoveTextPos(0, -36);
pw := page.TextWidth(SAMP_TXT);
page_height := 210;
page_width := pw + 40;
page.SetWidth(page_width);
page.SetHeight(page_height);
// finish to print text.
page.EndText();
page.SetLineWidth(0.5);
page.MoveTo(10, page_height - 25);
page.LineTo(page_width - 10, page_height - 25);
page.Stroke();
page.MoveTo(10, page_height - 85);
page.LineTo(page_width - 10, page_height - 85);
page.Stroke();
err := pdf.SaveToFile(alias, output_file);
echo "SaveToFile::\t", "err := ", format("%x", err), "\toutput_file := ", output_file, "\n";
return;