|
dxHotPDFExportReportLink DevExpress ExpressPrinting System adapter (
|
FastReport adapter QuickReport adapter ReportBuilder device |
|
Adaptador de exportação de PDF do DevExpress ExpressPrinting System (XtraPrinting / XtraReports / links imprimíveis do cxGrid e similares) que utiliza o HotPDF como o backend PDF subjacente em vez do emissor
Registro de opções: type TdxHotPDFExportOpções = record Title, Author, Subject, Keywords: string; PDFVersion : TPDFVersType; // default pdf17 Compression: TPDFCompressionLevel; // default clDefault RenderDPI : Integer; // default 200 end;
function dxHotPDFDefaultOpções: TdxHotPDFExportOpções;
Pontos de entrada baseados em arquivo: function dxHotPDFExportReportLinkToFile( AReportLink: TBasedxReportLink; const AOutputFileName: string; const AOpções: TdxHotPDFExportOpções): Boolean; overload; function dxHotPDFExportReportLinkToFile( AReportLink: TBasedxReportLink; const AOutputFileName: string): Boolean; overload;
Pontos de entrada baseados em stream: function dxHotPDFExportReportLinkToStream( AReportLink: TBasedxReportLink; AOutputStream: TStream; const AOpções: TdxHotPDFExportOpções): Boolean; overload; function dxHotPDFExportReportLinkToStream( AReportLink: TBasedxReportLink; AOutputStream: TStream): Boolean; overload;
Descrição O sistema de impressão da DevExpress é centrado no
Este adaptador reflete o loop no próprio
1. O chamador invoca 2. O adaptador chama 3. Para cada índice de página, ele solicita ao link por 4. Uma nova página do HotPDF é adicionada (ou a primeira página criada automaticamente é reutilizada), dimensionada para as dimensões em pontos calculadas, e o metafile é reproduzido via 5.
Opções
Fluxo de trabalho típico
dxComponentPrinter1.CurrentLink := cxGridReportLink1; dxHotPDFExportReportLinkToFile(cxGridReportLink1, 'Grid.pdf');
Ou com opções personalizadas:
Opts := dxHotPDFDefaultOpções; Opts.Title := 'Q1 Sales'; Opts.RenderDPI := 300; dxHotPDFExportReportLinkToFile(cxGridReportLink1, 'Grid.pdf', Opts);
Famílias de links compatíveis Qualquer descendente de TBasedxReportLink. Isso cobre cxGrid, cxRichEdit, cxScheduler, cxPivotGrid e quaisquer links personalizados derivados da mesma classe base. O adaptador não depende do tipo específico do link porque o contrato PaintPage é definido na base
Capacidades preservadas Conteúdo vetorial e raster de página emitido por todas as famílias de links DevExpress (cxGrid, cxScheduler, cxRichEdit, cxPivotGrid, links personalizados). Strings de texto resolvidas por GDI (o DevExpress renderiza texto via TCanvas; os registros do metafile preservam fielmente as chamadas de texto GDI)
Limitações da ponte de metafile Como as páginas são capturadas como metafiles avançados, recursos PDF específicos do DevExpress que exigem informação estrutural (campos AcroForm interativos, destinos nomeados, bookmarks / outlines, gates de conformidade PDF/A ou PDF/X) não são propagados. A saída é uma reprodução visual fiel do que o DevExpress renderiza, não um PDF estruturado
Nota de empacotamento O adaptador fica em Lib\Addons\DevExpress\ e não faz parte dos pacotes principais HotPDF*.dpk, portanto a dependência DevExpress ExpressPrinting só é puxada por projetos que optam pelo adaptador. Um teste smoke (smoke_dx_hotpdf.dpr) fica junto da unit
Veja também: TfrxHotPDFExport, TQRHotPDFExportFilter, TppHotPDFDevice, THPDFPage.ShowMetafile, Enhanced EMF/WMF Support |