TfrxHotPDFExport

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

 

QuickReport adapter  ReportBuilder device  DevExpress adapter

FastReport 4 / FastReport VCL PDF-eksportfilter, der bruger HotPDF som den underliggende PDF-backend i stedet for FastReports egen indbyggede PDF-skriver. Beregnet til projekter, der allerede indlejrer HotPDF og ønsker en enkelt PDF-backend på tværs af hele applikationen

 

Delphi deklaration:

type

TfrxHotPDFExport =class(TfrxCustomExportFilter)

  published

    property Compressed: Booleandefault True;

    property Title, Author, Subject, Keywords: string;

    property PDFVersion: TPDFVersTypedefault pdf17;

    property CompressionLevel: TPDFCompressionLeveldefault clDefault;

    property RenderDPI: Integerdefault 200;

  end;

 

Beskrivelse

TfrxHotPDFExport stammer fraTfrxCustomExportFilter, så den passer ind i det almindeligeMyReport.Export(MyExportInstance)arbejdsforløb uden nogen ændringer i FastReport-kernen. Enheden kalderRegisterComponents('FastReport 4.0 Export Filters', [TfrxHotPDFExport]), så filteret vises i IDE-komponentpaletten, når enheden er tilføjet til en pakke

 

I stedet for at genimplementere FastReports fulde PDF-emitter pr. objekt dirigerer adapteren hver forberedt side gennem HotPDFs forbedrede metafil-importør:

 

1. Startopretter en nyTHotPDFinstans og indstiller dokumentets metadata (Title / Author / Subject / Keywords / PDFVersion / Compression)

2. StartPagedimensionerer den nye HotPDF-side i punkter for at matche FastReport-rapportsidens millimeterdimensioner

3. ExportObjecter en no-op (hele siden fanges påFinishPagetidspunktet, ikke pr. objekt)

4. FinishPagegengiver den forberedte FastReport-side til enTMetafile via Report.PreviewPages.DrawPage, og afspiller derefter metafilen gennem HotPDFsShowEnhancedMetafileauto-skalerende importør

5. Finish calls EndDocog kopierer temp-PDF'en til den kalder-leverede Stream om nødvendigt

 

Egenskaber

Compressed- HotPDF-strømkomprimering slået til (standard True). Sæt til False for diagnostiske PDF'er (~5x større filer)

Title / Author / Subject / Keywords- dokument-metadata. Når Title is tom, falder adapteren tilbage påReport.Name, så PDF'en altid har en ikke-tom titel

PDFVersion- det PDF-specifikationsniveau, dokumentet skal rette sig mod. Standard erpdf17.

CompressionLevel- FlateDecode niveau. Standard erclDefault.

RenderDPI- pixeltæthed brugt ved rasterisering af FastReport-siden viaTMetafileCanvas. Højere = skarpere tekst og linjer, men større metafil og PDF. 96 er FastReports indfødte skærm-DPI; 200 (standard) giver resultater i printkvalitet uden enorme filer

 

Typisk arbejdsgang

 

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;

 

Funktionsevner bevaret

Vektor- og raster-sideindhold (tekst, linjer, rektangler, udfyldninger, bitmaps) gengivet af FastReports standard layout-motor. GDI-løste tekststrenge (HotPDF indlejrer de Windows-løste skrifttyper via den almindelige HotPDF-skrifttypeunderinddelingssti). Dokumentmetadata

 

Begrænsninger ved metafil-broen

Da sider fanges som forbedrede metafiler, udbredes FastReport-specifikke PDF-funktioner, der kræver strukturel information (AcroForm-felter, navngivne destinationer, dokumentdispositioner, PDF/A- eller PDF/X-overensstemmelsesporte), ikke. Outputtet er en trofast visuel gengivelse af, hvad FastReport gengiver på skærmen / printeren, ikke en struktureret PDF. Projekter, der har brug for AcroForm-output eller PDF/A-overensstemmelse, bør køre HotPDF direkte via dets indfødte API

 

Emballeringsnote

Adapteren findes iLib\Addons\FastReport4\og er ikke en part af de primæreHotPDF*.dpkpakker, så FastReport-afhængigheden trækkes kun ind af projekter, der tilmelder sig adapteren. En test (smoke_frx_hotpdf.dpr) lever sammen med enheden

 

Se også: TQRHotPDFExportFilter, TppHotPDFDevice, dxHotPDFExportReportLink, THPDFPage.ShowMetafile, Enhanced EMF/WMF Support