THPDFRenderDocAccess rekord
A renderelőt dokumentumszolgáltatásokhoz köti hivatkozások feloldására, folyamok olvasására, képek dekódolására, betűtípusok megkeresésére és rétegláthatóság kiértékelésére
Deklaráció
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;
Egység
HPDFPageRenderer
Mezők
| Mező | Cél |
|---|---|
Context | A hívó által megadott kontextusmutató, amely minden visszahívásnak első argumentumként adódik át; a dokumentum itt köti fel magát |
SharedCache | Renderelő gyorsítótár, amelyet több oldal is megoszthat, ha a ShareRenderCaches engedélyezett |
ShareRenderCaches | true, ha a dokumentum megengedi, hogy a párhuzamos renderelők megosszák a dekódolási gyorsítótárakat |
ResolveObject | Általános közvetett hivatkozás-feloldó bármely objektumtípushoz; azért került hozzá, mert a típusos feloldók nem egyező típusoknál nil értéket adnak vissza |
ResolveDictionary | Közvetett hivatkozást old fel szótárobjektumra, más típusoknál nil |
ResolveStream | Közvetett hivatkozást old fel folyamobjektumra |
ReadDecodedStreamBytes | Egy folyamot teljesen dekódolva olvas be bájttömbbe |
AcquireDecodedImageStream | Egy kép-XObjectet osztott, hivatkozásszámlált bitmap leíróvá dekódol |
DecodeImageStream | Egy kép-XObjectet a hívó által birtokolt bitmapmá dekódol |
BeginProgressiveImageDecode | Megszakítható progresszív dekódolót indít egy nagy képfolyamhoz |
DecodeImageRegion | Egy kép egy régióját dekódolja a kért pixelméretben |
AcquireDecodedImageRegion | Régióváltozat, amely osztott, hivatkozásszámlált bitmap leírót ad vissza |
DecodeInlineImage | Beágyazott képet dekódol nyers ID..EI bájtokból és a normalizált BI kulcskészletből, az objektumszám-gyorsítótárat kikerülve; nil hook esetén a beágyazott képek nem renderelődnek |
DecodeColorKeyMask | Egy image XObject color-key /Mask tömbjét a kép méretű fehér-fekete lágy maszkká alakítja; nil, ha a képnek nincs használható color-key maszkja, a nil hook pedig maszk nélkül rajzolja ki az ilyen képeket |
ResolveFontDict | Betűtípus-szótárt keres fel erőforráskulcs alapján, a /Resources és a /Font szinten követve a közvetett hivatkozásokat; hiány esetén nil |
EvalOCVisibility | Egy /OC tulajdonságobjektumot értékel ki a dokumentum rétegállapotaihoz képest; nil hook vagy true eredmény esetén a tartalom kirajzolódik |
CancellationToken | Megszakítási token, amelyet a hosszú dekódolási műveletek alatt ellenőriznek |
ColourIntent | A renderelt grafikai állapotra alkalmazott színkezelési szándék |
FallbackPolicy | Kiválasztja, hogy a nem támogatott funkciók figyelmen kívül maradnak, jelentésre kerülnek, vagy szigorú hibaként kezelődnek |
FallbackDiagnosticLimit | Korlátozza a visszaesés során gyűjtött diagnosztikai üzenetek számát |
OverprintPreview | Engedélyezi az overprint-előnézet szimulációját |
ProofICCProfile | A színfeldolgozó lánc próbaoldalához használt ICC-profilbájtok |
OutputICCProfile | A kimeneti eszközt leíró ICC-profilbájtok |
BlackPointCompensation | Engedélyezi a feketepont-kompenzációt az ICC transzformációban |
SeparationPlate | Az elkülönítendő kivonási nyomólemez neve; üres értékkel normálisan renderel |
Használati megjegyzések
- A THotPDF minden hookot a belső
MakeRenderDocAccesssegédjén keresztül köt be, így az alkalmazások kész rekordot kapnak, nem kell egyiket sem kitölteniük - Az egyedi renderelő háttérrendszerek ezeket a hookokat a
THPDFPageRenderBackendRequestrekordból olvassák, ahelyett hogy közvetlenül a dokumentumhoz nyúlnának - Hagyja a
DecodeInlineImagevagy azEvalOCVisibilitymezőt nil értékűen az örökölt viselkedés visszaállításához: a beágyazott képek kihagyása és az összes opcionális tartalom kirajzolása