delphi TMS FlexCel 导出PDF设置
TMS FlexCel 导出PDF设置
属性和方法
TFlexCelPdfExport.Compress
property Compress: Boolean
当为true时,PDF文件将被压缩。默认值 true。
TFlexCelPdfExport.PageLayout
property PageLayout: TPageLayout
设置打开文档时的默认页面布局。
TPageLayout
首次打开文档时的查看器设置。
unit
None 保持用户定义的布局。
Outlines 打开文档时显示大纲窗格。
Thumbs 打开文档时显示缩略图窗格。
FullScreen 以全屏模式打开文档。
OptionalContent 显示可选的内容组面板。
AttachmentPanel 显示附件面板。
TFlexCelPdfExport.Properties
Properties: TPdfProperties;
PDF文件属性。
注意,如果
UseExcelProperties
为 true 并且Properties
值为 null 或空,则将使用导出工作簿中的属性。
TPdfProperties.Title
Title: string;
文档的标题。
TPdfProperties.Author
Author: string;
文档中的作者。
TPdfProperties.Subject
Subject: string;
文档的主题。
TPdfProperties.Keywords
Keywords: string;
文档中的关键字。
TPdfProperties.Creator
Creator: string;
文档中的生成器。
TPdfProperties.Language
Language: string;
指定文档的自然语言的语言标识符。 这应该是一个标准说明符,如“en-US”。
注意,文本到语音引擎将使用该语言来大声朗读文本,因此建议设置此属性。
您可以在此处查看语言列表:http://msdn.microsoft.com/en-us/library/ee825488(v=cs.20).aspx
TFlexCelPdfExport.UseExcelProperties
property UseExcelProperties: Boolean
当此属性为true时,并且属性Properties
值为 null 或空,将使用Excel文件中的属性。
TFlexCelPdfExport.PdfType
property PdfType: TPdfType
定义要创建的PDF的类型。
注意,如果将此属性设置为Standard之外的其他值,则可能会忽略其他属性。例如,在创建 PDF/A 文件时,必须嵌入所有字体,因此
FontEmbed
属性的值将被忽略。查看
TagMode
属性来确定文件是PDF/A-1a(PDF/A-2a)还是PDF/A-1b(PDF/A-2b)。如果标记为Full,则生成的文件将为“a”。 如果不是,它们将是“b”,因为“b”不需要标记。
TPdfType
要创建的PDF的类型。
unit
- Standard 一个普通的PDF文件。
- PDFA1 PDF/A-1a 或 b (http://en.wikipedia.org/?title=PDF/A) 。请注意,PDF/A-1 生成的文件比 PDF/A-2 更大,而且也不支持透明度。 但 PDF/A-1 是编写本文档时更常用的标准。
- PDFA2 PDF/A-2a 或 b。 FlexCel 将在 PDF/A-2 模式下创建比在 PDF/A-1 模式下更小的文件,因此如果可能,您应该尝试使用 PDF/A-2 而不是 A1。 A2 还支持透明度。 在 FlexCel 的情况下,FlexCel 也可以签署 PDF/A-2 文件,但不能签署 PDF/A-1。
- PDFA3 PDF/A-3。 请注意,与 PDF/A2 的唯一区别是可以在 PDF 文件中嵌入其他文件。
TFlexCelPdfExport.TagMode
property TagMode: TTagMode
如果TagMode
为 Full,则生成的文件将被标记。带标签的PDF提供了更好的可访问性支持,但是文件可能会更大,并且需要更长的时间来创建。如果您喜欢较小的文件(即使无法访问),请关闭此选项。默认值 Full。
注意,当使用
PdfType
创建 PDF/A 文件时,此属性定义文件是 PDF/A-1a(PDF/A-2a)还是 PDF/A-1b(PDF/A-2b)。 这是因为 PDF/A-1a 和 PDF/A-2a 需要标记文件,因此如果此选项为Full,生成的文件将为“a”。 如果此选项为 None,则生成的文件将为“b”,这是一个不太严格的标准,不需要标记。
TTagMode
指定如何标记文档。
unit
- Full 文档将被标记为所有标记。
- None 文档将不会被标记。
TFlexCelPdfExport.PdfVersion
property PdfVersion: TPdfVersion
定义要创建的pdf版本。为了获得最大的兼容性,您可以选择 PDF 1.4(任何版本的 Acrobat 都可以打开,即使低于 1.4 的版本不会具有所有功能)。 选择 PDF 1.6 可以获得更多压缩和更小的文件,但您需要 Acrobat 7 或更高版本才能查看文件。 旧版本根本无法打开它。
注意,如果您正在创建PDFA-1(因为它需要PDF1-4),这个值可能会被忽略。对于签名,FlexCel需要PDF1-7。
要减小文件大小,您可能希望将
PdfVersion
设置为大于 v14 的值,因为这将允许 FlexCel 使用 PDF 1.4 中没有的更好的压缩。
TPdfVersion
指定 FlexCel 将生成的 PDF 版本。
unit
- v14 文件将采用 Pdf 1.4 格式 (Acrobat 5)。旧版本的Acrobat仍然可以打开文件,但可能会丢失透明等功能。
- v16 文件将采用 Pdf 1.6 格式 (Acrobat 7)。 这允许更小的文件,但旧的 Acrobat 版本将无法打开文件。 您需要 Acrobat 7 或更高版本才能看到它们。
- v17 文件将采用 Pdf 1.7 格式 (Acrobat 8)。 您需要 PDF 1.7 才能使用 SHA512 对文件进行签名。 由于不推荐使用 SHA1 进行签名,因此无论您手动选择哪个版本,如果文档已签名,FlexCel 都会自动选择 v17。
例子
导出PDF设置
uses VCL.FlexCel.Core, FlexCel.XlsAdapter, FlexCel.Render, FlexCel.Pdf;
procedure TForm1.Button18Click(Sender: TObject);
var
Xls: TXlsFile;
Pdf: TFlexCelPdfExport;
begin
//读取Excel文件
Xls := TXlsFile.Create('C:\Users\Administrator\Desktop\ceshi.xlsx');
//关联导出的文档
Pdf := TFlexCelPdfExport.Create(Xls, True);
try
//设置为不压缩
Pdf.Compress := False;
//设置文件属性
Pdf.Properties.Title := '文档的标题';
Pdf.Properties.Author := '文档的作者';
Pdf.Properties.Subject := '文档的主题';
Pdf.Properties.Keywords := '文档的关键字';
Pdf.Properties.Creator := '文档的生成器';
//设置页面布局
pdf.PageLayout := TPageLayout.Outlines;
//设置PDF类型为PDF/A-1b
Pdf.PdfType := TPdfType.PDFA1;
Pdf.TagMode := TTagMode.None;
//设置PDF版本
Pdf.PdfVersion := TPdfVersion.v16;
//导出当前活动的工作表到文件
Pdf.Export('C:\Users\Administrator\Desktop\ceshi.pdf');
finally
Pdf.Free;
Xls.Free;
end;
end;