TfrxHotPDFExport

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

QuickReport adapter ReportBuilder device DevExpress adapter

FastReport 4 / FastReport VCL PDF-vientisuodatin, joka käyttää HotPDF:ää taustalla olevana PDF-taustaohjelmana FastReportin oman sisäänrakennetun PDF-kirjoittimen sijaan. Tarkoitettu projekteihin, joissa HotPDF on jo upotettuna ja halutaan yksi PDF-taustaohjelma koko sovellukseen

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;

Kuvaus

TfrxHotPDFExport periytyy luokasta TfrxCustomExportFilter, joten se sopii tavalliseen MyReport.Export(MyExportInstance) -työnkulkuun ilman FastReport-ytimen muutoksia. Yksikkö kutsuu funktiota RegisterComponents('FastReport 4.0 Export Filters', [TfrxHotPDFExport]), joten suodatin ilmestyy IDE:n komponenttipalettiin, kun yksikkö lisätään pakettiin

Sen sijaan, että toteutettaisiin FastReportin täysi kohdekohtainen PDF-lähetin, sovitin reitittää jokaisen valmistellun sivun HotPDF:n parannetun metafilen tuojan läpi:

1. Start luo uuden THotPDF-instanssin ja asettaa dokumentin metatiedot (Title / Author / Subject / Keywords / PDFVersion / Compression)

2. StartPage mitoittaa uuden HotPDF-sivun pisteinä vastaamaan FastReport-raporttisivun millimetrimittoja

3. ExportObject on tyhjä toiminto (koko sivu kaapataan vaiheessa FinishPage, ei objektikohtaisesti)

4. FinishPage renderöi valmistellun FastReport-sivun TMetafile-muotoon metodin Report.PreviewPages.DrawPage kautta ja toistaa sitten metafilen HotPDF:n automaattisesti skaalautuvan ShowEnhancedMetafile-tuojan kautta

5. Finish kutsuu metodia EndDoc ja kopioi väliaikaisen PDF-tiedoston tarvittaessa kutsujan toimittamaan virtaan (Stream)

Ominaisuudet

Compressed – HotPDF-virtapakkaus päällä (oletus True). Aseta False diagnostiikka-PDF-tiedostoja varten (~5 kertaa suuremmat tiedostot)

Title / Author / Subject / Keywords – dokumentin metatiedot. Kun Title on tyhjä, sovitin palaa arvoon Report.Name, joten PDF-dokumentilla on aina ei-tyhjä otsikko

PDFVersion – PDF-määrityksen taso, johon dokumentin tulisi kohdistua. Oletusarvo on pdf17

CompressionLevel – FlateDecode-taso. Oletusarvona on clDefault

RenderDPI – pikselitiheys, jota käytetään rasteroitaessa FastReport-sivua TMetafileCanvas-kankaan kautta. Suurempi arvo = terävämpi teksti ja viivat, mutta suurempi metafile ja PDF. Arvo 96 on FastReportin näytön oletus-DPI; arvo 200 (oletus) antaa tulostuslaatuisia tuloksia ilman valtavia tiedostokokoja

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

Vektori- ja rasterisivun sisältö (teksti, viivat, suorakulmiot, täytöt, bittikartat), jonka FastReportin standardi asettelumoottori hahmontaa. GDI-ratkaistut tekstijonot (HotPDF upottaa Windowsin ratkaisemat fontit tavallisen HotPDF-fontinosituspolun kautta). Dokumenttitason metatiedot

Metafile-sillan rajoitukset

Koska sivut kaapataan kehittyneinä metafileinä, FastReport-kohtaisia PDF-ominaisuuksia, jotka vaativat rakennetietoa (AcroForm-kentät, nimetyt kohteet, dokumentin jäsennykset, PDF/A- tai PDF/X-yhteensopivuusportit), ei välitetä eteenpäin. Tuloste on uskollinen visuaalinen kopio siitä, mitä FastReport renderöi näytölle / tulostimelle, ei rakenteellinen PDF. Projektien, jotka tarvitsevat AcroForm-tulostetta tai PDF/A-yhteensopivuutta, tulisi ohjata HotPDF-moottoria suoraan sen oman natiivin API-rajapinnan kautta

Packaging note

Sovitin sijaitsee polussa Lib\Addons\FastReport4\ eikä se kuulu HotPDF*.dpk-pääpaketteihin, joten FastReport-riippuvuus tuodaan vain niihin projekteihin, jotka ottavat sovittimen käyttöön. Savutestaus (smoke_frx_hotpdf.dpr) sijaitsee yksikön rinnalla

Katso myös: TQRHotPDFExportFilter, TppHotPDFDevice, dxHotPDFExportReportLink, THPDFPage.ShowMetafile, Enhanced EMF/WMF Support