TfrxHotPDFExport

Adaptor FastReport 4 / FastReport VCL (Lib\Addons\FastReport4\frxHotPDFExport.pas)

 

QuickReport adapter  ReportBuilder device  DevExpress adapter

Filter ekspor PDF FastReport 4 / FastReport VCL yang menggunakan HotPDF sebagai backend PDF di bawahnya alih-alih penulis PDF bawaan FastReport. Ditujukan untuk proyek yang sudah menyematkan HotPDF dan ingin satu backend PDF untuk seluruh aplikasi

 

Deklarasi Delphi:

type

  TfrxHotPDFExport = class(TfrxCustomExportFilter)

  published

    property Compressed: Boolean default True;

    property Title, Author, Subject, Keywords: string;

    property PDFVersion: TPDFVersType default pdf17;

    property CompressionLevel: TPDFCompressionLevel default clDefault;

    property RenderDPI: Integer default 200;

  end;

 

Deskripsi

TfrxHotPDFExport turun dari TfrxCustomExportFilter, sehingga ia masuk ke alur kerja reguler MyReport.Export(MyExportInstance) tanpa perubahan pada core FastReport. Unit ini memanggil RegisterComponents('FastReport 4.0 Export Filters', [TfrxHotPDFExport]), sehingga filter muncul di palet komponen IDE setelah unit ditambahkan ke sebuah package

 

Alih-alih mengimplementasikan ulang emitter PDF per-objek penuh FastReport, adaptor ini mengarahkan setiap halaman yang disiapkan melalui importer enhanced-metafile milik HotPDF:

 

1. Start membuat instance THotPDF baru dan menetapkan metadata dokumen (Title / Author / Subject / Keywords / PDFVersion / Compression)

2. StartPage memberi ukuran halaman HotPDF baru dalam point agar cocok dengan dimensi milimeter halaman laporan FastReport

3. ExportObject adalah no-op (seluruh halaman ditangkap saat FinishPage, bukan per objek)

4. FinishPage merender halaman FastReport yang sudah disiapkan ke dalam TMetafile lewat Report.PreviewPages.DrawPage, lalu memutar metafile melalui importer penskalaan otomatis ShowEnhancedMetafile milik HotPDF

5. Finish memanggil EndDoc dan menyalin PDF sementara ke Stream yang disediakan pemanggil bila perlu

 

Properti

Compressed - kompresi stream HotPDF aktif (default True). Set False untuk PDF diagnostik (~5x lebih besar)

Title / Author / Subject / Keywords - metadata dokumen. Saat Title kosong, adaptor jatuh ke Report.Name sehingga PDF selalu memiliki judul yang tidak kosong

PDFVersion - level spesifikasi PDF yang harus ditargetkan dokumen. Default pdf17

CompressionLevel - level FlateDecode. Default clDefault

RenderDPI - kerapatan piksel yang dipakai saat meraster halaman FastReport melalui TMetafileCanvas. Nilai lebih tinggi = teks dan garis lebih tajam tetapi metafile dan PDF lebih besar. 96 adalah DPI layar native FastReport; 200 (default) memberi hasil kualitas cetak tanpa file yang sangat besar

 

Alur kerja umum

 

Exp := TfrxHotPDFExport.Create(nil);

try

  Exp.FileName := 'Report.pdf';

  Exp.Title := 'Monthly Statement';

  Exp.PDFVersion := pdf17;

  Exp.RenderDPI := 200;

  frxReport1.Export(Exp);

finally

  Exp.Free;

end;

 

Kapabilitas yang dipertahankan

Konten halaman vektor dan raster (teks, garis, persegi panjang, fill, bitmap) yang dirender oleh engine tata letak standar FastReport. String teks yang diselesaikan GDI (HotPDF menyematkan font yang diselesaikan Windows lewat jalur subset font HotPDF biasa). Metadata tingkat dokumen

 

Batasan bridge metafile

Karena halaman ditangkap sebagai enhanced metafile, fitur PDF khusus FastReport yang membutuhkan informasi struktural (field AcroForm, tujuan bernama, outline dokumen, gate kepatuhan PDF/A atau PDF/X) tidak diteruskan. Outputnya adalah reproduksi visual yang setia dari apa yang FastReport render ke layar / printer, bukan PDF terstruktur. Proyek yang memerlukan output AcroForm atau kepatuhan PDF/A harus menggerakkan HotPDF langsung melalui API natifnya

 

Catatan pengemasan

Adaptor ini berada di Lib\Addons\FastReport4\ dan bukan bagian dari paket utama HotPDF*.dpk, jadi dependensi FastReport hanya ditarik oleh proyek yang memilih adaptor ini. Sebuah smoke test (smoke_frx_hotpdf.dpr) berada berdampingan dengan unit

 

Lihat juga: TQRHotPDFExportFilter, TppHotPDFDevice, dxHotPDFExportReportLink, THPDFPage.ShowMetafile, Dukungan EMF/WMF yang Ditingkatkan