Pdf/demo/font_demo.tsl

82 lines
1.8 KiB
Plaintext

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, "<Standerd Type1 fonts samples>");
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;