TDBGrid エクスポートサポート
アドオンユニット dbGridHotPDFExport(Lib\addons\DBGrid)は、TDBGrid データセットの表示中の列とすべての行を PDF テーブルへ書き出します。独自の THotPDF ドキュメントを生成・充填・保存するため、入力として必要なのはグリッドだけです
エントリーポイント
DBGridHotPDFExportToFile(AGrid, AOutputFileName[, AOptions])は PDF をファイルへ書き出しますDBGridHotPDFExportToStream(AGrid, AOutputStream[, AOptions])はストリームへ書き出します。%TEMP%の一時ファイルを経由しますDBGridHotPDFDefaultOptionsはデフォルト値を持つTDBGridHotPDFExportOptionsレコードを返します。ポイント単位の A4(595 x 842)、36 ポイントのマージン、22 ポイントの行、24 ポイントのヘッダー行、14 ポイントタイトル付き Arial 9、clBtnFaceのヘッダー、$00F5F5F5の交互行TDBGridHotPDFExportは同じエクスポートをコンポーネントにしたもので、HotPDF パレットページに登録されます(dbGridHotPDFDesignが登録)。GridとOutputFileNameを設定し、ExportToFileかExportToStreamを呼びます。オプションの各フィールドは published プロパティで、ResetOptionsでデフォルトに戻せます
エクスポートされる内容
- フィールドを持つ表示中のグリッド列をグリッド順で、タイトルキャプション付きで出力します。グリッドに列がないときはデータセットの表示中フィールドを出力します。列幅は印刷可能幅いっぱいにグリッドの比率を保ちます
FirstからEofまでの全レコードを、各フィールドのDisplayTextで出力します。収まらないセルテキストは切り詰められ...で終わります- すべてのテキストは
FontNameを使います。データのグリフを持っている必要があります。デフォルトの Arial では中国語・日本語・韓国語のテキストは空の四角にしかならないので、そうしたデータには Microsoft YaHei などの CJK フォントを設定してください - 次の行が下マージンを越えるときに新しいページが始まり、ヘッダー行は毎ページ繰り返されます。タイトル(
Title、なければグリッドのName)はIncludeTitleが True のとき、最初のページに 1 回だけ描かれます Title、Author、Subject、Keywords、PDFVersion(デフォルト pdf17)、PDFACompliance、PDFXCompliance、Compressionはドキュメントへ引き渡されます
データセットの状態
- エクスポートはデータセットを走査する間
DisableControlsを呼び、終わるとEnableControlsを呼びます。バインドされたコントロールが行ごとに再描画されることはありません - 現在のレコードは最初にブックマークとして保存され、最後に復元されます。エクスポートが失敗したときも同様です
- nil のグリッド、空のファイル名、データセットを持たないグリッド、非アクティブなデータセット、表示中のデータ列を持たないグリッドでは、False を返す代わりに例外が発生します
例
uses
dbGridHotPDFExport;
var
Options: TDBGridHotPDFExportOptions;
begin
Options:= DBGridHotPDFDefaultOptions;
Options.Title:= 'Customers';
Options.PageWidth:= 842; // A4 landscape
Options.PageHeight:= 595;
DBGridHotPDFExportToFile(DBGrid1, 'Customers.pdf', Options);
end;