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;