TPDFlibTableExporter

Tables

描述

TPDFlibTableExporter 遍历任意 TDataSet(例如 FireDAC 内存表、ClientDataSet 或查询结果),把它渲染为忠实反映其字段与记录的 PDFlibPas 表格

导出器构建在 Table API(CreateTable、SetTableCellContent、DrawTableRows)之上,额外提供表头样式、斑马纹和自动续页

它只依赖数据集抽象,因此与主库一起编译即可,不会引入特定的数据集引擎;DataSetExport 演示用内存表驱动它

语法

Delphi

TPDFlibTableExporter = Class(TObject)
  Public
    Constructor Create(APDF: TPDFlib);
    Function ExportDataSet(ADataSet: TDataSet;
      Const AOptions: TPDFlibTableExportOptions): Boolean;
    Property OnFieldFilter: TPDFlibTableFieldEvent Read FOnFieldFilter Write FOnFieldFilter;
  End;

方法

Create把导出器绑定到拥有目标文档的 TPDFlib 实例
ExportDataSet用给定选项把数据集渲染进当前文档;文档必须已有至少一页,成功时返回 True

参数

OnFieldFilter每个字段排版前触发的事件;用 TPDFlibTableFieldSpec 返回 Include := False,即可跳过二进制 blob 或内部键之类的字段

备注

数据类型为二进制 blob 的字段会被自动跳过,因为它们在单元格中没有有意义的文本呈现

文档应已配置为毫米和左上角原点;PDFlibExportDataSet 会自行完成该配置

另请参阅

PDFlibExportDataSet, DefaultTableExportOptions, TPDFlibTableExportOptions, TPDFlibTableFieldSpec, CreateTable