|
TfrxHotPDFExport FastReport 4 / FastReport VCL adapter (
|
QuickReport adapter ReportBuilder device DevExpress adapter |
|
FastReport 4 / FastReport VCL PDF eksportavimo filtras, kuris vietoj pačio FastReport įtaisyto PDF rašytuvo naudoja HotPDF kaip pagrindinį PDF variklį. Skirtas projektams, kurie jau įtraukia HotPDF ir nori vieno PDF pagrindo visai programai
Delphi deklaracija: 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;
Aprašas
Užuot iš naujo įgyvendinęs visą FastReport PDF generatorių kiekvienam objektui, adapteris kiekvieną paruoštą puslapį nukreipia per HotPDF patobulinto metafailo importuotoją
1. Start sukuria naują THotPDF egzempliorių ir nustato dokumento metaduomenis (Title / Author / Subject / Keywords / PDFVersion / Compression) 2. StartPage nustato naujo HotPDF puslapio dydį taškais taip, kad jis atitiktų FastReport ataskaitos puslapio matmenis milimetrais 3. ExportObject nieko nedaro (visas puslapis užfiksuojamas FinishPage metu, o ne kiekvienam objektui atskirai) 4. FinishPage atvaizduoja paruoštą FastReport puslapį į TMetafile per Report.PreviewPages.DrawPage, tada paleidžia metafailą per HotPDF ShowEnhancedMetafile automatinio mastelio importuotoją 5. Finish iškviečia EndDoc ir, jei reikia, nukopijuoja laikiną PDF į kviestinės pusės pateiktą Stream
Savybės
PDFVersion - PDF specifikacijos lygis, į kurį turi taikytis dokumentas. Numatytoji reikšmė yra pdf17
Tipinė darbo eiga
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;
Išsaugomos galimybės Vektorinį ir rastrinį puslapio turinį (tekstą, linijas, stačiakampius, užpildus, bitmapus), kurį pateikia standartinis FastReport maketo variklis. GDI išspręstas teksto eilutes (HotPDF įterpia Windows parinktus šriftus per įprastą HotPDF šriftų posubsetavimo kelią). Dokumento lygio metaduomenis
Metafailo tilto ribojimai Kadangi puslapiai užfiksuojami kaip išplėstiniai metafailai, FastReport specifinės PDF funkcijos, kurioms reikia struktūrinės informacijos (AcroForm laukai, vardiniai tikslai, dokumento kontūrai, PDF/A arba PDF/X atitikties vartai), nėra perduodamos. Išvestis yra tikslus to, ką FastReport pateikia ekrane arba spausdintuve, vizualus atvaizdas, o ne struktūrinis PDF. Projektai, kuriems reikia AcroForm išvesties arba PDF/A atitikties, turėtų tiesiogiai naudoti HotPDF per jo vietinį API
Paketavimo pastaba Adapteris yra Lib\Addons\FastReport4\ aplanke ir nėra pagrindinių HotPDF*.dpk paketų dalis, todėl FastReport priklausomybė įtraukiama tik projektuose, kurie sąmoningai renkasi šį adapterį. Šalia modulio yra smoke testas (smoke_frx_hotpdf.dpr)
See also: TQRHotPDFExportFilter, TppHotPDFDevice, dxHotPDFExportReportLink, THPDFPage.ShowMetafile, Enhanced EMF/WMF Support |