function GetSkiaRenderCapabilities: TPdfSkiaRenderCapabilities;
function GetPrintOutputCapabilities: TPdfPrintOutputCapabilities;
Båda frågorna laddar den valda PDFium-modulen vid behov och rapporterar endast exporter som finns i just den modulen
Saknade valfria exporter hindrar aldrig normal PDFium-inläsning, bitmap-rendering, redigering eller sparning
TPdfSkiaRenderCapabilities.PageSceneCache anger att RenderPageSkiaByIndex kan återanvända den avgränsade tolkade sidcachen som ägs av TPdf
TPdfSkiaRenderCapabilities.FormOverlay anger att den separata valfria formexporten kan rita formuläroverlayen efter sidinnehållet
TPdfPrintOutputCapabilities.VersionCompatible är true endast när tillägget returnerar det exakta värdet PdfPrintOutputAbiVersion
TPdfPrintOutputCapabilities.ExtensionPresent är true så snart print-output-tillägget är inläst och AbiVersion bär det råa ABI-nummer det rapporterar
SpotPlateRendering, OverprintDetection och OverprintPreview styr RenderSpotPlate, PageUsesOverprint och 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);
Anroparen äger den inbyggda SkCanvas:en och skickar den som FPDF_SKIA_CANVAS
RenderPageSkia ritar den aktiva sidan medan RenderPageSkiaByIndex ritar valfri ett-baserad sida utan att ändra PageNumber
När det begärts och en form-fill-miljö finns ritas formuläroverlayen efter sidinnehållet via den separata valfria formexporten
Det nativa Skia-API:et tar en pixelstorlek men exponerar inte bitmap-renderarens rotations- eller flaggparametrar
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;
Dessa metoder anropar det valfria print-output-tillägget bara när dess version, kapabilitetsbit och motsvarande funktionsexport alla stämmer
Returnerade bitmappar ägs av anroparen och använder samma avgränsade PDFium-bitmap-väg som normal rendering
När tillägget saknar utlöser varje åtgärd EPdfError i stället för att simulera plåtar från RGB-utdata eller påstå felaktigt övertrycksbeteende
| Export | Contract |
|---|---|
PDFiumPas_GetPrintOutputAbiVersion | Returnerar PdfPrintOutputAbiVersion som ett 32-bitars teckenlöst värde |
PDFiumPas_GetPrintOutputCapabilities | Returnerar de deklarerade kapabilitetsbitarna för spot-uppräkning, spot-rendering, övertrycksdetektering och övertrycksförhandsvisning |
PDFiumPas_PageCountSpotPlates | Returnerar ett avgränsat icke-negativt plåtantal för en FPDF_PAGE |
PDFiumPas_PageGetSpotPlateName | Returnerar UTF-8-byte-antalet inklusive avslutande nolla och skriver bara inom den tillhandahållna bufferten |
PDFiumPas_PageUsesOverprint | Returnerar en 32-bitars FPDF_BOOL för en sida |
PDFiumPas_RenderSpotPlate | Renderar en nollbaserad platta in i en anroparägd FPDF_BITMAP |
PDFiumPas_RenderOverprintPreview | Renderar färghanterad övertrycksförhandsvisning in i en anroparägd FPDF_BITMAP |
Alla ABI-funktioner använder cdecl, 32-bitars heltals- och FPDF_BOOL-värden, pekarstora handtag och PDFium-ägda sidsemantik
Renderfunktionerna måste slutföras synkront och får inte behålla den tillhandahållna bitmappen eller sidhandtaget
Okända kapabilitetsbitar bevaras i RawCapabilityBits men behandlas inte som stödda funktioner
SkiaCaps := GetSkiaRenderCapabilities;
if SkiaCaps.PageRender then
Pdf.RenderPageSkiaByIndex(SkCanvas, 1, 1200, 1600);
PrintCaps := GetPrintOutputCapabilities;
if PrintCaps.SpotPlateEnumeration then
Plates := Pdf.SpotPlates;