82 lines
1.8 KiB
Plaintext
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;
|
|
|