Uses TSPdfEnumerations; {$IFDEF LINUX} separator := "/"; {$ELSE} separator := "\\"; {$ENDIF} // tsl ./demo/font_demo.tsl --path=/mnt/d/code/tinysoft/Pdf-dev/demo --alias="" alias := ""; path := ""; InitCmdParams(alias, path); output_file := "font_demo.pdf"; output_file := path + separator + output_file; page_title := "Font Demo"; pdf := new PdfFile(); // 添加一个页面对象 page := pdf.AddPage(); height := page.GetHeight(); width := page.GetWidth(); // 页面行数 page.SetLineWidth(1); page.Rectangle(50, 50, width - 100, height - 110); page.Stroke(); // 页标题 def_font := pdf.GetFont("Helvetica", ""); page.SetFontAndSize(def_font, 24); tw := page.TextWidth(page_title); page.BeginText(); page.TextOut((width - tw) / 2, height - 50, page_title); page.EndText(); // 子标题 page.BeginText(); page.SetFontAndSize(def_font, 16); page.TextOut(60, height - 80, ""); page.EndText(); page.BeginText(); page.MoveTextPos(60, height - 105); font_list := array( "Courier", "Courier-Bold", "Courier-Oblique", "Courier-BoldOblique", "Helvetica", "Helvetica-Bold", "Helvetica-Oblique", "Helvetica-BoldOblique", "Times-Roman", "Times-Bold", "Times-Italic", "Times-BoldItalic", "Symbol", "ZapfDingbats", ); samp_text := "abcdefgABCDEFG12345!#$%&+-@?"; for i:=0 to length(font_list)-1 do begin page.SetFontAndSize(def_font, 9); page.ShowText(font_list[i]); page.MoveTextPos(0, -18); font := pdf.GetFont(font_list[i], ""); // echo "font = ", font_list[i], "\t err = ", err, "\t font = ", font, "\n"; page.SetFontAndSize(font, 20); page.ShowText(samp_text); page.MoveTextPos(0, -20); end page.EndText(); err := pdf.SaveToFile(alias, output_file); echo "SaveToFile::\t", "err := ", format("%x", err), "\toutput_file := ", output_file, "\n"; return;