|
TQRHotPDFExportFilter Adapter za QuickReport (
|
FastReport adapter ReportBuilder device DevExpress adapter |
|
Izvozni filter QuickReport, ki uporablja HotPDF kot osnovno zaledje PDF namesto QuickReportovega lastnega
Deklaracija v Delphi: type TQRHotPDFExportFilter = class(TQRExportFilter) public constructor Create(Filename: string); override; procedure SetOutputStream(AStream: TStream); property Title, Author, Subject, Keywords: string; property PDFVersion: TPDFVersType; property Compressed: Boolean; property CompressionLevel: TPDFCompressionLevel; end;
Description TQRHotPDFExportFilter izhaja iz TQRExportFilter, zato se brez sprememb jedra QuickReporta vključi v običajen potek MyReport.ExportToFilter(MyExporterInstance). Ker TQRExportFilter ni potomec TComponent (v QuickReportovi zasnovi je navaden razred), registracije komponente v IDE ni - klicatelji TQRHotPDFExportFilter ustvarijo neposredno prek Create('out.pdf')
QuickReport vsako pripravljeno stran izriše v TMetafile, ki je predpomnjen v QRPrinter.PageList. Namesto ponovne implementacije celotnega nabora povratnih klicev TextOut / AcceptGraphic / AcceptBand po posameznih komponentah prilagoditev te preprosto ignorira (prekrivne metode brez učinka) in v Finish pobere metafile po straneh:
1. Start(PaperWidth, PaperHeight, Font) - ustvari primerek THotPDF, nastavi metapodatke, pokliče BeginDoc in shrani (PaperWidth, PaperHeight), da lahko Finish pravilno oblikuje strani 2. 3. Finish - za vsak predpomnjeni metafile QRPrinter.PageList[i] doda (ali znova uporabi) stran HotPDF, velikostno prilagojeno PaperWidth / PaperHeight v točkah, in pokliče ShowEnhancedMetafile. Nato pokliče EndDoc in sprosti
Lastnosti
Tipičen potek dela
Filter := TQRHotPDFExportFilter.Create('Report.pdf'); try Filter.Title := 'Monthly Statement'; Filter.PDFVersion := pdf17; QuickRep1.ExportToFilter(Filter); finally Filter.Free; end;
Ohranjene zmožnosti Vektorska in rastrska vsebina strani se izriše prek QuickReportovega standardnega cevovoda za predogled in tiskanje. Besedilni nizi se razrešijo prek GDI. Velikost strani sledi
Omejitve mostu z metafilom Ker so strani zajete kot izboljšani metafilni zapisi, se zmožnosti PDF, specifične za QuickReport in odvisne od strukturnih informacij (polja AcroForm, poimenovani cilji, orisi, zahteve skladnosti PDF/A ali PDF/X), ne prenesejo. Izhod je zvest vizualni posnetek tega, kar QuickReport izriše, ne pa strukturiran PDF
Opomba o pakiranju Adapter živi v
Glej tudi: TfrxHotPDFExport, TppHotPDFDevice, dxHotPDFExportReportLink, THPDFPage.ShowMetafile, Napredna podpora za EMF/WMF |