TfrxHotPDFExport

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

 

QuickReport adapter ReportBuilder eszköz DevExpress adapter

FastReport 4 / FastReport VCL PDF export szűrő, amely a HotPDF-et használja alapul szolgáló PDF háttérrendszerként a FastReport saját beépített PDF írója helyett. Olyan projektekhez készült, amelyek már beágyazzák a HotPDF-et, és egyetlen PDF háttérrendszert szeretnének a teljes alkalmazásban

 

Delphi deklaráció:

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;

 

Leírás

A TfrxHotPDFExport a TfrxCustomExportFilter osztályból származik, így beilleszkedik a szokásos MyReport.Export(MyExportInstance) munkafolyamatba a FastReport magjának módosítása nélkül. Az egység meghívja a RegisterComponents('FastReport 4.0 Export Filters', [TfrxHotPDFExport]) metódust, így a szűrő megjelenik az IDE komponenspalettáján, amint az egység hozzáadásra kerül egy csomaghoz

 

Ahelyett, hogy újraimplementálná a FastReport teljes, objektumonkénti PDF kibocsátóját, az adapter minden előkészített oldalt a HotPDF továbbfejlesztett metafile importőrén keresztül irányít át:

 

1. A Start létrehoz egy friss THotPDF példányt, és beállítja a dokumentum metaadatait (Title / Author / Subject / Keywords / PDFVersion / Compression)

2. A StartPage pontokban méretezi az új HotPDF oldalt, hogy az megfeleljen a FastReport jelentésoldal milliméteres méreteinek

3. Az ExportObject üres művelet (no-op), a teljes oldal a FinishPage futásakor kerül rögzítésre, nem pedig objektumonként

4. A FinishPage lerendereli az előkészített FastReport oldalt egy TMetafile objektumba a Report.PreviewPages.DrawPage segítségével, majd lejátssza a metafile-t a HotPDF ShowEnhancedMetafile automatikusan skálázódó importőrén keresztül

5. A Finish meghívja az EndDoc-ot, és szükség esetén a hívó által biztosított folyamhoz (Stream) másolja az ideiglenes PDF-et

 

Tulajdonságok

Compressed - HotPDF folyamtömörítés bekapcsolva (alapértelmezés szerint True). Állítsa False értékre diagnosztikai PDF-ekhez (~5x nagyobb fájlok)

Title / Author / Subject / Keywords - dokumentum metaadatok. Ha a Title üres, az adapter visszaesik a Report.Name értékre, így a PDF mindig nem üres címmel rendelkezik

PDFVersion - a PDF specifikációs szint, amelyet a dokumentumnak meg kell céloznia. Alapértelmezés szerint pdf17

CompressionLevel - FlateDecode tömörítési szint. Alapértelmezés szerint clDefault

RenderDPI - a képpontsűrűség, amely a FastReport oldal TMetafileCanvas-en keresztüli raszterizálásakor használatos. Magasabb = élesebb szöveg és vonalak, de nagyobb metafile és PDF. A 96 a FastReport natív képernyő-DPI-je; a 200 (alapértelmezett) nyomtatási minőségű eredményt ad hatalmas fájlok nélkül

 

Tipikus munkafolyamat

 

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;

 

Megőrzött képességek

Vektoros és raszteres oldaltartalom (szövegek, vonalak, téglalapok, kitöltések, bitképek), amelyet a FastReport szabványos elrendezési motorja renderel. GDI-feloldott szöveges karakterláncok (a HotPDF beágyazza a Windows-feloldott betűtípusokat a szokásos HotPDF betűtípus-részhalmaz útvonalon keresztül). Dokumentumszintű metaadatok

 

A metafile-híd korlátai

Mivel az oldalak továbbfejlesztett metafile-ként (enhanced metafile) kerülnek rögzítésre, a strukturális információkat igénylő FastReport-specifikus PDF funkciók (AcroForm mezők, nevesített célhelyek, dokumentumvázlatok, PDF/A vagy PDF/X megfelelőségi kapuk) nem terjednek át. A kimenet a FastReport által képernyőre / nyomtatóra renderelt kép hű vizuális reprodukciója, nem pedig egy strukturált PDF. Az AcroForm kimenetet vagy PDF/A megfelelést igénylő projekteknek közvetlenül a HotPDF-et kell vezérelniük annak natív API-ján keresztül

 

Csomagolási megjegyzés

Az adapter a Lib\Addons\FastReport4\ könyvtárban található, és nem része a fő HotPDF*.dpk csomagoknak, így a FastReport függőség csak azon projektek által kerül behúzásra, amelyek használják az adaptert. Egy smoke teszt (smoke_frx_hotpdf.dpr) található az egység mellett

 

See also: TQRHotPDFExportFilter, TppHotPDFDevice, dxHotPDFExportReportLink, THPDFPage.ShowMetafile, Enhanced EMF/WMF Support