THPDFRenderDocAccess Record
Binder rendereren til dokumenttjenester for at opløse referencer, læse streams, afkode billeder, finde fonts og vurdere lag-synlighed
Deklaration
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;
Enhed
HPDFPageRenderer
Felter
| Felt | Formål |
|---|---|
Context | Kontekstpeger angivet af kalderen, som sendes som første argument til ethvert callback; dokumentet binder sig selv her |
SharedCache | Renderer-cache, som flere sider kan dele, når ShareRenderCaches er slået til |
ShareRenderCaches | True, når dokumentet lader samtidige renderere dele afkodningscacher |
ResolveObject | Generisk indirect-reference-resolver for enhver objekttype; tilføjet, fordi de typede resolvere returnerer nil for ikke-matchende typer |
ResolveDictionary | Opløser en indirect reference til et dictionary-objekt, nil for andre typer |
ResolveStream | Opløser en indirect reference til et stream-objekt |
ReadDecodedStreamBytes | Læser en stream fuldt afkodet ind i et byte-array |
AcquireDecodedImageStream | Afkoder et image XObject til et delt bitmap-handle med referencetælling |
DecodeImageStream | Afkoder et image XObject til en bitmap, som kalderen ejer |
BeginProgressiveImageDecode | Starter en annullerbar progressiv decoder for en stor billedstream |
DecodeImageRegion | Afkoder en underregion af et billede i en ønsket pixelstørrelse |
AcquireDecodedImageRegion | Regionvariant, der returnerer et delt bitmap-handle med referencetælling |
DecodeInlineImage | Afkoder et inline-billede ud fra rå ID..EI-bytes og det normaliserede BI-nøglesæt under omgåelse af objektnummer-cachen; nil-hook betyder, at inline-billeder ikke renderes |
DecodeColorKeyMask | Omskaber et billed-XObjects color-key-/Mask-array til en hvid-og-sort soft mask i billedets størrelse; nil, når billedet ikke har en brugbar color-key-maske, og en nil-hook tegner sådanne billeder umaskeret |
ResolveFontDict | Slår en fontordbog op via ressourcenøglen og følger indirect references på /Resources- og /Font-niveauerne; nil, når den mangler |
EvalOCVisibility | Vurderer et /OC-egenskabsobjekt op mod dokumentets lagtilstande; nil-hook eller True-resultat betyder, at indholdet tegnes |
CancellationToken | Cancellation token, der kontrolleres under lange afkodningsoperationer |
ColourIntent | Farvehåndteringsintent, der anvendes på den renderede graphics state |
FallbackPolicy | Vælger, om ikke-understøttede features ignoreres, rapporteres eller behandles som strenge fejl |
FallbackDiagnosticLimit | Sætter loft over antallet af diagnostiske beskeder, der samles under fallback |
OverprintPreview | Aktiverer simulering af overprint preview |
ProofICCProfile | ICC-profilbytes, der bruges til proofing-siden af farvepipelinen |
OutputICCProfile | ICC-profilbytes, der beskriver outputenheden |
BlackPointCompensation | Aktiverer black point compensation i ICC-transformationen |
SeparationPlate | Navnet på den separationsplade, der skal isoleres; tom betyder normal rendering |
Brugsnoter
- THotPDF binder hver hook via sin interne
MakeRenderDocAccess-helper, så applikationer modtager en færdig post i stedet for at udfylde en selv - Custom render backends læser disse hooks fra
THPDFPageRenderBackendRequesti stedet for at gribe direkte ind i dokumentet - Lad
DecodeInlineImageellerEvalOCVisibilityvære nil for at gendanne den gamle adfærd med at springe inline-billeder over og tegne alt valgfrit indhold