delphi SynPDF 文档设置
SynPDF 文档设置
属性和方法
TPdfDocument.CompressionMethod
property CompressionMethod: TPdfCompressionMethod;
用于页面内容存储的压缩方法。
在创建类实例时默认值为 cmFlateDecode。
TPdfCompressionMethod
指定页面内容压缩。
unit
SynPdf
TPdfCompressionMethod = (
cmNone, cmFlateDecode);
- cmNone 不压缩。
- cmFlateDecode 使用平面压缩进行压缩。
TPdfDocument.EmbeddedTTF
property EmbeddedTTF: boolean;
设置为True,使用的 Truetype 字体将被嵌入到PDF内容中。默认值 False。
默认值为False,以节省磁盘空间和产生微小的PDF。
TPdfDocument.EmbeddedWholeTTF
property EmbeddedWholeTTF: boolean;
设置为True,嵌入的 Truetype 字体将完全嵌入PDF文件中;设置为 False,表示将 TTF 字体子集存储到PDF文件中,即只存储使用的字形。默认值 False。
此选项仅在 Windows XP 或更高版本上运行时可用。
设置
EmbeddedTTF
为True,则将TTF字体子集存储到PDF文件中,即只存储使用的字体字形。设置
EmbeddedWholeTTF
为True,则整个字体文件按原样嵌入PDF文件中。
TPdfDocument.EmbeddedTTFIgnore
property EmbeddedTTFIgnore: TRawUTF8List;
这个列表中添加一些字体名称,这些字体永远不会嵌入到PDF文件中。
忽略所有标准 Windows 字体,请使用:
EmbeddedTTFIgnore.Text := MSWINDOWS_DEFAULT_FONTS;
MSWINDOWS_DEFAULT_FONTS
MSWINDOWS_DEFAULT_FONTS: RawUTF8 =
'Arial'#13#10'Courier New'#13#10'Georgia'#13#10+
'Impact'#13#10'Lucida Console'#13#10'Roman'#13#10'Symbol'#13#10+
'Tahoma'#13#10'Times New Roman'#13#10'Trebuchet'#13#10+
'Verdana'#13#10'WingDings';
自Windows 2000以来默认可用的常用字体列表。
要避免在PDF文档中嵌入这些字体并以省磁盘空间,只需设置 EmbeddedTTFIgnore
属性:EmbeddedTTFIgnore.Text := MSWINDOWS_DEFAULT_FONTS;
只有当
EmbeddedTTF
属性设置为True时才有用。
TPdfDocument.NewDoc
procedure NewDoc;
创建一个新文档。
如果要重置整个文档内容,可以多次调用它。
例子
创建设置
procedure TForm1.Button8Click(Sender: TObject);
var
Pdf: TPdfDocumentGDI;
begin
//创建PDF文档
Pdf := TPdfDocumentGDI.Create;
try
//压缩方式
Pdf.CompressionMethod := cmFlateDecode;
//设置不嵌入字体
Pdf.EmbeddedTTFIgnore.Add('WingDings');
Pdf.AddPage;
Pdf.SaveToFile('C:\Users\Administrator\Desktop\ceshi.pdf');
finally
Pdf.Free;
end;
end;
清空文档
procedure TForm1.Button9Click(Sender: TObject);
var
Pdf: TPdfDocumentGDI;
begin
//创建PDF文档
Pdf := TPdfDocumentGDI.Create;
try
Pdf.AddPage;
with Pdf.VCLCanvas do
begin
Font.Name := '宋体';
Font.Size := 20;
TextOut(100, 100, '原文档的内容');
end;
//清空文档内容
Pdf.NewDoc;
//写入新内容
Pdf.AddPage;
with Pdf.VCLCanvas do
begin
Font.Name := '宋体';
Font.Size := 20;
TextOut(100, 100, '新文档的内容');
end;
Pdf.SaveToFile('C:\Users\Administrator\Desktop\ceshi.pdf');
finally
Pdf.Free;
end;
end;
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步