function GetSkiaRenderCapabilities: TPdfSkiaRenderCapabilities;
function GetPrintOutputCapabilities: TPdfPrintOutputCapabilities;
Ambas consultas cargan el módulo PDFium seleccionado si es necesario e informan solo de las exportaciones presentes en ese módulo exacto
Las exportaciones opcionales ausentes nunca impiden la carga normal de PDFium, el renderizado de mapas de bits, la edición ni el guardado
TPdfSkiaRenderCapabilities.PageSceneCache indica que RenderPageSkiaByIndex puede reutilizar la caché acotada de páginas analizadas propiedad de TPdf
TPdfSkiaRenderCapabilities.FormOverlay indica que la exportación opcional de formularios separada puede pintar la superposición de formularios después del contenido de la página
TPdfPrintOutputCapabilities.VersionCompatible es verdadero solo cuando la extensión devuelve el valor exacto PdfPrintOutputAbiVersion
TPdfPrintOutputCapabilities.ExtensionPresent es verdadero una vez que la extensión de salida de impresión está cargada y AbiVersion transporta el número ABI en bruto que informa
SpotPlateRendering, OverprintDetection y OverprintPreview condicionan RenderSpotPlate, PageUsesOverprint y RenderOverprintPreview
procedure TPdf.RenderPageSkia(Canvas: FPDF_SKIA_CANVAS; Width, Height: Integer; DrawFormOverlay: Boolean = True);
procedure TPdf.RenderPageSkiaByIndex(Canvas: FPDF_SKIA_CANVAS; PageNumber, Width, Height: Integer; DrawFormOverlay: Boolean = True);
El llamador es dueño del SkCanvas nativo y lo pasa como FPDF_SKIA_CANVAS
RenderPageSkia dibuja la página activa, mientras que RenderPageSkiaByIndex dibuja cualquier página basada en uno sin cambiar PageNumber
Cuando se solicita y existe un entorno de llenado de formularios, la superposición de formularios se dibuja después del contenido de la página a través de la exportación opcional de formularios separada
La API Skia nativa acepta un tamaño en píxeles, pero no expone los parámetros de rotación ni de banderas del renderizador de mapas de bits
function TPdf.SpotPlates: TPdfSpotPlateInfos;
function TPdf.PageUsesOverprint: Boolean;
function TPdf.RenderSpotPlate(PlateIndex, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmap;
function TPdf.RenderOverprintPreview(Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmap;
Estos métodos llaman a la extensión opcional de salida de impresión solo cuando su versión, bit de capacidad y exportación de función correspondiente coinciden todos
Los mapas de bits devueltos son propiedad del llamador y usan la misma ruta acotada de mapas de bits de PDFium que el renderizado normal
Cuando la extensión está ausente, cada operación lanza EPdfError en lugar de simular planchas a partir de una salida RGB o de afirmar un comportamiento de sobreimpresión inexacto
| Exportación | Contrato |
|---|---|
PDFiumPas_GetPrintOutputAbiVersion | Devuelve PdfPrintOutputAbiVersion como un valor sin signo de 32 bits |
PDFiumPas_GetPrintOutputCapabilities | Devuelve los bits de capacidad declarados de enumeración de separaciones, renderizado de separaciones, detección de sobreimpresión y vista previa de sobreimpresión |
PDFiumPas_PageCountSpotPlates | Devuelve un recuento de planchas acotado y no negativo para un FPDF_PAGE |
PDFiumPas_PageGetSpotPlateName | Devuelve el recuento de bytes UTF-8 incluido el cero final y escribe solo dentro del búfer suministrado |
PDFiumPas_PageUsesOverprint | Devuelve un FPDF_BOOL de 32 bits para una página |
PDFiumPas_RenderSpotPlate | Renderiza una plancha basada en cero en un FPDF_BITMAP propiedad del llamador |
PDFiumPas_RenderOverprintPreview | Renderiza una vista previa de sobreimpresión con gestión de color en un FPDF_BITMAP propiedad del llamador |
Todas las funciones ABI usan cdecl, valores enteros y FPDF_BOOL de 32 bits, manejadores del tamaño de un puntero y semántica de páginas propiedad de PDFium
Las funciones de renderizado deben completarse de forma síncrona y no deben retener el mapa de bits ni el manejador de página suministrados
Los bits de capacidad desconocidos se conservan en RawCapabilityBits, pero no se tratan como comportamiento admitido
SkiaCaps := GetSkiaRenderCapabilities;
if SkiaCaps.PageRender then
Pdf.RenderPageSkiaByIndex(SkCanvas, 1, 1200, 1600);
PrintCaps := GetPrintOutputCapabilities;
if PrintCaps.SpotPlateEnumeration then
Plates := Pdf.SpotPlates;