function GetSkiaRenderCapabilities: TPdfSkiaRenderCapabilities;
function GetPrintOutputCapabilities: TPdfPrintOutputCapabilities;
Ambas consultas cargan el módulo de PDFium seleccionado si es necesario y reportan solo 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 de PdfPrintOutputAbiVersion
TPdfPrintOutputCapabilities.ExtensionPresent es verdadero una vez que la extensión de salida de impresión está cargada y AbiVersion lleva el número ABI sin procesar que reporta
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);
Quien llama 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 nativa de Skia 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, su bit de capacidad y la exportación de la función correspondiente coinciden todos
Los mapas de bits devueltos son propiedad de quien llama 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 genera EPdfError en lugar de simular placas a partir de salida RGB o de afirmar un comportamiento de overprint inexacto
| Exportación | Contrato |
|---|---|
PDFiumPas_GetPrintOutputAbiVersion | Devuelve PdfPrintOutputAbiVersion como un valor entero sin signo de 32 bits |
PDFiumPas_GetPrintOutputCapabilities | Devuelve los bits de capacidad declarados de enumeración de placas, renderizado de placas, detección de overprint y vista previa de overprint |
PDFiumPas_PageCountSpotPlates | Devuelve un conteo de placas acotado y no negativo para un FPDF_PAGE |
PDFiumPas_PageGetSpotPlateName | Devuelve el conteo 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 placa basada en cero en un FPDF_BITMAP propiedad de quien llama |
PDFiumPas_RenderOverprintPreview | Renderiza una vista previa de overprint con gestión de color en un FPDF_BITMAP propiedad de quien llama |
Todas las funciones del ABI usan cdecl, valores enteros de 32 bits y FPDF_BOOL, identificadores 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 identificador de página suministrados
Los bits de capacidad desconocidos se conservan en RawCapabilityBits pero no se tratan como comportamiento soportado
SkiaCaps := GetSkiaRenderCapabilities;
if SkiaCaps.PageRender then
Pdf.RenderPageSkiaByIndex(SkCanvas, 1, 1200, 1600);
PrintCaps := GetPrintOutputCapabilities;
if PrintCaps.SpotPlateEnumeration then
Plates := Pdf.SpotPlates;