THPDFRenderDocAccess Record
Binder rendereren til dokumenttjenester for å løse referanser, lese strømmer, dekode bilder, finne fonter og vurdere lag-synlighet
Deklarasjon
THPDFRenderDocAccess= record
Context: Pointer;
SharedCache: THPDFRendererSharedCache;
ShareRenderCaches: boolean;
// v2.375.0 generic indirect-ref resolver (any object type). The typed
// Resolve* fields below predate it and return nil for non-matching
// types, which silently dropped indirect refs to arrays (e.g. a
// /ColorSpace entry pointing at a [/Separation ...] array object)
ResolveObject: function(Context: Pointer; Obj: THPDFObject): THPDFObject;
ResolveDictionary: function(Context: Pointer; Obj: THPDFObject): THPDFDictionaryObject;
ResolveStream: function(Context: Pointer; Obj: THPDFObject): THPDFStreamObject;
ReadDecodedStreamBytes: function(Context: Pointer; Stream: THPDFStreamObject; out Bytes: TBytes): boolean;
AcquireDecodedImageStream: function(Context: Pointer;
Stream: THPDFStreamObject): IHPDFDecodedBitmapHandle;
DecodeImageStream: function(Context: Pointer; Stream: THPDFStreamObject): TBitmap;
BeginProgressiveImageDecode: function(Context: Pointer;
Stream: THPDFStreamObject;
CancellationToken: THPDFCancellationToken): IHPDFProgressiveImageDecoder;
DecodeImageRegion: function(Context: Pointer; Stream: THPDFStreamObject;
RegionLeft, RegionTop, RegionRight, RegionBottom,
DesiredWidth, DesiredHeight: Integer): TBitmap;
AcquireDecodedImageRegion: function(Context: Pointer;
Stream: THPDFStreamObject; RegionLeft, RegionTop, RegionRight,
RegionBottom, DesiredWidth,
DesiredHeight: Integer): IHPDFDecodedBitmapHandle;
// v2.425.0 inline-image decoder: builds a throwaway stream from the raw
// ID..EI bytes and the normalised BI key set, then decodes it without the
// ObjectNumber-keyed cache (inline images have no object number). Returns
// a TBitmap the caller owns, or nil on failure. Nil hook = inline images
// are not rendered (legacy behaviour)
DecodeInlineImage: function(Context: Pointer; const Bytes: TBytes;
const Keys: THPDFInlineImgKeys): TBitmap;
// Colour-key /Mask array of an image XObject as a soft mask, white where
// the image shows and black where it is masked out. Returns a TBitmap the
// caller owns, or nil when the image has no usable colour-key mask; a nil
// hook draws such images unmasked
DecodeColorKeyMask: function(Context: Pointer;
Stream: THPDFStreamObject): TBitmap;
// Look up a font dictionary by resource key in a Resources dict, following
// indirect refs at both /Resources and /Font levels. Returns nil if absent
ResolveFontDict: function(Context: Pointer; PageObj: THPDFDictionaryObject;
const FontKey: AnsiString): THPDFDictionaryObject;
// v2.377.0 optional-content visibility oracle: evaluates an /OC property
// object (OCG or OCMD) against the document's layer states. Nil hook or
// a True result means the content is drawn
EvalOCVisibility: function(Context: Pointer; PropObj: THPDFObject): boolean;
CancellationToken: THPDFCancellationToken;
ColourIntent: Integer;
FallbackPolicy: THPDFRenderFallbackPolicy;
FallbackDiagnosticLimit: Integer;
OverprintPreview: boolean;
ProofICCProfile: TBytes;
OutputICCProfile: TBytes;
BlackPointCompensation: boolean;
SeparationPlate: AnsiString;
end;
Enhet
HPDFPageRenderer
Felt
| Felt | Formål |
|---|---|
Context | Kalleroppgitt kontekstpeker som sendes som første argument til hver callback; dokumentet binder seg selv her |
SharedCache | Renderer-cache som flere sider kan dele når ShareRenderCaches er slått på |
ShareRenderCaches | True når dokumentet lar samtidige renderere dele dekode-cacher |
ResolveObject | Generisk oppløser av indirekte referanser for enhver objekttype; lagt til fordi de typede oppløserne returnerer nil for ikke-matchende typer |
ResolveDictionary | Løser en indirekte referanse til et ordbokobjekt, nil for andre typer |
ResolveStream | Løser en indirekte referanse til et strømobjekt |
ReadDecodedStreamBytes | Leser en strøm fullt dekodet inn i en byte-matrise |
AcquireDecodedImageStream | Dekoder et bilde-XObject til et delt, referansetalt bitmap-håndtak |
DecodeImageStream | Dekoder et bilde-XObject til en bitmap eid av kalleren |
BeginProgressiveImageDecode | Starter en avbrytbar progressiv dekoder for en stor bildestrøm |
DecodeImageRegion | Dekoder et delområde av et bilde i ønsket pikselstørrelse |
AcquireDecodedImageRegion | Områdevariant som returnerer et delt, referansetalt bitmap-håndtak |
DecodeInlineImage | Dekoder et inline-bilde fra rå ID..EI-byte og det normaliserte BI-nøkkelsettet, utenom objektnummer-cachen; nil-hook betyr at inline-bilder ikke rendres |
DecodeColorKeyMask | Gjør en bild-XObjects color-key-/Mask-array om til en myk maske i hvitt og svart i bildets størrelse; nil når bildet ikke har en brukbar color-key-maske, og en nil-hook tegner slike bilder umaskert |
ResolveFontDict | Slår opp en fontordbok etter ressursnøkkel og følger indirekte referanser på /Resources- og /Font-nivåene; nil når fraværende |
EvalOCVisibility | Vurderer et /OC-egenskapsobjekt mot dokumentets lagtilstander; nil-hook eller et True-resultat betyr at innholdet tegnes |
CancellationToken | Kanselleringstoken som sjekkes under lange dekodeoperasjoner |
ColourIntent | Fargehåndteringsintensjon anvendt på den rendrede grafikktilstanden |
FallbackPolicy | Velger om ustøttede funksjoner ignoreres, rapporteres eller behandles som strenge feil |
FallbackDiagnosticLimit | Begrenser antallet diagnostiske meldinger som samles inn under tilbakefall |
OverprintPreview | Slår på simulering av overprint-forhåndsvisning |
ProofICCProfile | ICC-profilbyte brukt på proofing-siden av fargepipelinen |
OutputICCProfile | ICC-profilbyte som beskriver utdataenheten |
BlackPointCompensation | Slår på black point-kompensasjon i ICC-transformasjonen |
SeparationPlate | Navnet på separasjonsplaten som skal isoleres; tom gir normal rendering |
Bruksnotater
- THotPDF binder hver hook gjennom sin interne
MakeRenderDocAccess-hjelper, så applikasjoner mottar en ferdig record i stedet for å fylle ut en selv - Egne render backends leser disse hookene fra
THPDFPageRenderBackendRequesti stedet for å gå rett inn i dokumentet - La
DecodeInlineImageellerEvalOCVisibilitystå som nil for å gjenopprette den gamle oppførselen med å hoppe over inline-bilder og tegne alt valgfritt innhold