|
dxHotPDFExportReportLink DevExpress ExpressPrinting System adapter (
|
FastReport adapter QuickReport adapter ReportBuilder device |
|
Prilagoditveni izvoznik PDF za DevExpress ExpressPrinting System (XtraPrinting / XtraReports / cxGrid printable links / in podobno), ki uporablja HotPDF kot osnovni PDF backend namesto DevExpressovega lastnega izhodnika dxPSExportToPDF / TdxPSPDFExport. Namenjen je projektom, ki že vključujejo HotPDF in želijo en sam PDF backend v celotni aplikaciji
Options record: type TdxHotPDFExportOptions = record Title, Author, Subject, Keywords: string; PDFVersion : TPDFVersType; // default pdf17 Compression: TPDFCompressionLevel; // default clDefault RenderDPI : Integer; // default 200 end;
function dxHotPDFDefaultOptions: TdxHotPDFExportOptions;
File-based entry points: function dxHotPDFExportReportLinkToFile( AReportLink: TBasedxReportLink; const AOutputFileName: string; const AOptions: TdxHotPDFExportOptions): Boolean; overload; function dxHotPDFExportReportLinkToFile( AReportLink: TBasedxReportLink; const AOutputFileName: string): Boolean; overload;
Stream-based entry points: function dxHotPDFExportReportLinkToStream( AReportLink: TBasedxReportLink; AOutputStream: TStream; const AOptions: TdxHotPDFExportOptions): Boolean; overload; function dxHotPDFExportReportLinkToStream( AReportLink: TBasedxReportLink; AOutputStream: TStream): Boolean; overload;
Description Tiskalni sistem DevExpress je zgrajen okoli TBasedxReportLink - abstraktne povezave, ki povezuje natisljiv gradnik (cxGrid, cxRichEdit, cxScheduler, cxPivotGrid in podobne) s TdxComponentPrinter. Tiskalnik / povezava sestavi strani, nato pa izpostavi zaščiteno metodo PaintPage(ACanvas, APageBounds, APageIndex, AContinuousIndex, AZoomFactor), ki nariše eno stran na kateri koli TCanvas
Ta adapter ponovi zanko v DevExpressovem lastnem
1. Klicatelj pokliče dxHotPDFExportReportLinkToFile ali dxHotPDFExportReportLinkToStream s pripravljenim TBasedxReportLink 2. The adapter calls 3. Za vsak indeks strani od povezave zahteva RenderInfo.GetActualPageRenderInfo, izračuna velikost strani v točkah PDF (z uporabo DevExpressovega razmerja PointsPerInch / UnitsPerInch), ustvari TMetafile pri izbranem DPI za izris in stran izriše prek PaintPage(MetaCanvas, ...) 4. Doda se nova stran HotPDF (ali se znova uporabi samodejno ustvarjena prva stran), prilagojena izračunanim dimenzijam v točkah, metafile pa se predvaja prek ShowEnhancedMetafile 5. HotPDF.EndDoc zapiše PDF; pri preobremenitvah za tok se začasna datoteka nato kopira v TStream, ki ga je zagotovil klicatelj
Options Title / Author / Subject / Keywords - metapodatki dokumenta. Kadar je Title prazen, se prilagoditev vrne na AReportLink.ReportTitle.Text, nato na AReportLink.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 vsake strani prek TMetafileCanvas. Višja vrednost pomeni ostrejše besedilo in črte, vendar večji metafile in PDF. 200 (privzeto) da rezultate, primerne za tisk, brez ogromnih datotek. Vrednosti ≤ 0 se omejijo na 200
Typical workflow
dxComponentPrinter1.CurrentLink := cxGridReportLink1; dxHotPDFExportReportLinkToFile(cxGridReportLink1, 'Grid.pdf');
Or with custom options:
Opts := dxHotPDFDefaultOptions; Opts.Title := 'Q1 Sales'; Opts.RenderDPI := 300; dxHotPDFExportReportLinkToFile(cxGridReportLink1, 'Grid.pdf', Opts);
Podprte družine povezav Vsak potomec TBasedxReportLink. To zajema cxGrid, cxRichEdit, cxScheduler, cxPivotGrid ter vse prilagojene povezave, izpeljane iz istega osnovnega razreda. Prilagoditev ni odvisna od konkretnega tipa povezave, ker je pogodba PaintPage definirana v osnovi
Capabilities preserved Vektorska in rastrska vsebina strani, ki jo ustvarijo vse družine DevExpressovih povezav (cxGrid, cxScheduler, cxRichEdit, cxPivotGrid, prilagojene povezave). Besedilni nizi, razrešeni prek GDI (DevExpress izriše besedilo prek TCanvas; metafile zvesto zapiše GDI klice za besedilo)
Limitations of the metafile bridge Ker se strani zajemajo kot izboljšane metafajle, DevExpress-ove funkcije PDF, ki zahtevajo strukturne informacije (interaktivna polja AcroForm, imenovani cilji, zaznamki / orisi, mehanizmi skladnosti PDF/A ali PDF/X), niso prenesene. Izhod je zvest vizualni posnetek tega, kar DevExpress izriše, ne pa strukturiran PDF
Packaging note Adapter živi v
See also: TfrxHotPDFExport, TQRHotPDFExportFilter, TppHotPDFDevice, THPDFPage.ShowMetafile, Enhanced EMF/WMF Support |