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 или внутренний ключ

Примечания

Поля с двоичным типом данных пропускаются автоматически: в ячейке им нет содержательного текстового представления

Ожидается, что документ настроен на миллиметры и начало координат в левом верхнем углу; PDFlibExportDataSet выполняет эту настройку сам

См. также

PDFlibExportDataSet, DefaultTableExportOptions, TPDFlibTableExportOptions, TPDFlibTableFieldSpec, CreateTable