function GetSkiaRenderCapabilities: TPdfSkiaRenderCapabilities;
function GetPrintOutputCapabilities: TPdfPrintOutputCapabilities;
Entrambe le query caricano, se necessario, il modulo PDFium selezionato e riportano solo le esportazioni presenti in quello specifico modulo
Le esportazioni facoltative mancanti non impediscono mai il normale caricamento di PDFium, il rendering delle bitmap, la modifica o il salvataggio
TPdfSkiaRenderCapabilities.PageSceneCache indica che RenderPageSkiaByIndex può riutilizzare la cache delimitata delle pagine analizzate di proprietà di TPdf
TPdfSkiaRenderCapabilities.FormOverlay indica che la separata esportazione facoltativa dei moduli può disegnare l'overlay dei moduli dopo il contenuto di pagina
TPdfPrintOutputCapabilities.VersionCompatible è true solo quando l'estensione restituisce l'esatto valore PdfPrintOutputAbiVersion
TPdfPrintOutputCapabilities.ExtensionPresent è true non appena l'estensione di output di stampa è caricata e AbiVersion riporta il numero ABI grezzo che essa dichiara
SpotPlateRendering, OverprintDetection e OverprintPreview abilitano RenderSpotPlate, PageUsesOverprint e 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);
Il chiamante è proprietario dello SkCanvas nativo e lo passa come FPDF_SKIA_CANVAS
RenderPageSkia disegna la pagina attiva mentre RenderPageSkiaByIndex disegna qualsiasi pagina in base uno senza modificare PageNumber
Quando richiesto ed esiste un ambiente di compilazione moduli, l'overlay dei moduli viene disegnato dopo il contenuto di pagina tramite la separata esportazione facoltativa dei moduli
L'API Skia nativa accetta una dimensione in pixel ma non espone i parametri di rotazione o flag del renderer bitmap
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;
Questi metodi chiamano l'estensione facoltativa di output di stampa solo quando versione, bit di capacità ed esportazione della funzione corrispondente sono tutti coerenti
Le bitmap restituite sono di proprietà del chiamante e usano lo stesso percorso bitmap PDFium delimitato del rendering normale
Quando l'estensione è assente, ogni operazione solleva EPdfError invece di simulare lastre in tinta piatta da output RGB o di rivendicare un comportamento di sovrastampa impreciso
| Esportazione | Contratto |
|---|---|
PDFiumPas_GetPrintOutputAbiVersion | Restituisce PdfPrintOutputAbiVersion come valore unsigned a 32 bit |
PDFiumPas_GetPrintOutputCapabilities | Restituisce i bit di capacità dichiarati per enumerazione delle tinte piatta, rendering delle lastre, rilevamento della sovrastampa e anteprima della sovrastampa |
PDFiumPas_PageCountSpotPlates | Restituisce un numero di lastre non negativo e delimitato per un FPDF_PAGE |
PDFiumPas_PageGetSpotPlateName | Restituisce il numero di byte UTF-8 incluso lo zero finale e scrive solo entro il buffer fornito |
PDFiumPas_PageUsesOverprint | Restituisce un FPDF_BOOL a 32 bit per una pagina |
PDFiumPas_RenderSpotPlate | Renderizza una lastra in base zero in una FPDF_BITMAP di proprietà del chiamante |
PDFiumPas_RenderOverprintPreview | Renderizza l'anteprima della sovrastampa con gestione del colore in una FPDF_BITMAP di proprietà del chiamante |
Tutte le funzioni ABI usano cdecl, valori interi a 32 bit e FPDF_BOOL, handle della dimensione del puntatore e semantiche di pagina di proprietà di PDFium
Le funzioni di rendering devono completare in modo sincrono e non devono trattenere la bitmap o l'handle di pagina forniti
I bit di capacità sconosciuti sono preservati in RawCapabilityBits ma non sono trattati come comportamento supportato
SkiaCaps := GetSkiaRenderCapabilities;
if SkiaCaps.PageRender then
Pdf.RenderPageSkiaByIndex(SkCanvas, 1, 1200, 1600);
PrintCaps := GetPrintOutputCapabilities;
if PrintCaps.SpotPlateEnumeration then
Plates := Pdf.SpotPlates;