delphi TMS FlexCel 导出PDF设置

TMS FlexCel 导出PDF设置

属性和方法

TFlexCelPdfExport.Compress

property Compress: Boolean

当为true时,PDF文件将被压缩。默认值 true

TFlexCelPdfExport.PageLayout

property PageLayout: TPageLayout

设置打开文档时的默认页面布局。

TPageLayout

首次打开文档时的查看器设置。

unit

FlexCel.Pdf

None 保持用户定义的布局。

Outlines 打开文档时显示大纲窗格。

Thumbs 打开文档时显示缩略图窗格。

FullScreen 以全屏模式打开文档。

OptionalContent 显示可选的内容组面板。

AttachmentPanel 显示附件面板。

TFlexCelPdfExport.Properties

Properties: TPdfProperties;

PDF文件属性。

注意,如果UseExcelPropertiestrue 并且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

FlexCel.Pdf

  • 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

如果TagModeFull,则生成的文件将被标记。带标签的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

FlexCel.Pdf

  • 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

FlexCel.Pdf

  • 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;
posted @ 2022-09-07 15:38  txgh  阅读(425)  评论(0编辑  收藏  举报