|
TfrxHotPDFExport FastReport 4 / FastReport VCL adapter (
|
QuickReport adapter ReportBuilder device DevExpress adapter |
|
Izvozni filter PDF za FastReport 4 / FastReport VCL, ki uporablja HotPDF kot osnovni PDF backend namesto FastReportovega vgrajenega zapisovalnika PDF. Namenjen je projektom, ki že vključujejo HotPDF in želijo en sam PDF backend v celotni aplikaciji
Delphi declaration: 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;
Description TfrxHotPDFExport je izpeljan iz TfrxCustomExportFilter, zato se brez sprememb jedra FastReporta vključi v običajen potek MyReport.Export(MyExportInstance). Enota pokliče RegisterComponents('FastReport 4.0 Export Filters', [TfrxHotPDFExport]), zato se filter prikaže v paleti komponent IDE, ko je enota dodana v paket
Namesto da bi znova implementirala FastReportov celoten izhodnik PDF po posameznih objektih, prilagoditev vsako pripravljeno stran usmeri skozi HotPDFov uvoznik enhanced-metafile:
1. Start ustvari svež primerek THotPDF in nastavi metapodatke dokumenta (Title / Author / Subject / Keywords / PDFVersion / Compression) 2. StartPage določi velikost nove strani HotPDF v točkah, da se ujema z milimetrskimi dimenzijami strani poročila FastReport 3. ExportObject ne naredi ničesar (celotna stran se zajame ob času FinishPage, ne po objektih) 4. FinishPage pripravljeno stran FastReport izriše v TMetafile prek Report.PreviewPages.DrawPage, nato pa metafile predvaja skozi HotPDFov uvoznik ShowEnhancedMetafile s samodejnim skaliranjem 5. Finish pokliče EndDoc in po potrebi kopira začasni PDF v Stream, ki ga zagotovi klicatelj
Lastnosti Compressed - stiskanje toka HotPDF je vklopljeno (privzeto True). Nastavite False za diagnostične PDF-je (približno 5-krat večje datoteke) Title / Author / Subject / Keywords - metapodatki dokumenta. Kadar je Title prazen, se prilagoditev vrne na Report.Name, zato ima PDF vedno neprazen naslov PDFVersion - raven specifikacije PDF, ki ji naj dokument sledi. Privzeto je pdf17
RenderDPI - gostota slikovnih pik, uporabljena pri rastru strani FastReport prek TMetafileCanvas. Višja vrednost pomeni ostrejše besedilo in črte, vendar večji metafile in PDF. 96 je izvorni zaslonski DPI FastReporta; 200 (privzeto) da rezultate, primerne za tisk, brez ogromnih datotek
Typical workflow
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;
Capabilities preserved Vektorska in rastrska vsebina strani (besedilo, črte, pravokotniki, zapolnitve, bitne slike), ki jo izriše standardni postavitveni mehanizem FastReporta. Besedilni nizi, razrešeni prek GDI (HotPDF vgradi pisave, ki jih razreši Windows, prek običajne poti podnabora pisav HotPDF). Metapodatki na ravni dokumenta
Limitations of the metafile bridge Ker so strani zajete kot enhanced metafiles, se posebne funkcije PDF FastReporta, ki zahtevajo strukturne informacije (polja AcroForm, imenovane destinacije, orisi dokumenta, prehodi skladnosti PDF/A ali PDF/X), ne prenesejo. Izhod je zvest vizualni posnetek tega, kar FastReport izriše na zaslon / tiskalnik, ne pa strukturiran PDF. Projekti, ki potrebujejo izhod AcroForm ali skladnost PDF/A, naj HotPDF uporabljajo neposredno prek njegovega izvornega API
Packaging note Adapter živi v
See also: TQRHotPDFExportFilter, TppHotPDFDevice, dxHotPDFExportReportLink, THPDFPage.ShowMetafile, Enhanced EMF/WMF Support |