THPDFRenderDocAccess Record

Binder renderaren till dokumenttjänster för att lösa referenser, läsa strömmar, dekoda bilder, hitta typsnitt och utvärdera lagersynlighet

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;

Enhet

HPDFPageRenderer

Fält

FältSyfte
ContextAnroparsuppgiven kontextpekare som skickas som första argument till varje callback; dokumentet binder sig själv här
SharedCacheRenderarens cache som flera sidor kan dela när ShareRenderCaches är aktiverat
ShareRenderCachesSant när dokumentet låter samtidiga renderare dela dekodningscacherna
ResolveObjectGenerisk resolver för indirekta referenser för valfri objekttyp; tillkom eftersom de typade resolverarna returnerar nil för typer som inte matchar
ResolveDictionaryResolverar en indirekt referens till ett ordboksobjekt, nil för andra typer
ResolveStreamResolverar en indirekt referens till ett strömobjekt
ReadDecodedStreamBytesLäser en ström helt dekodad till en bytearray
AcquireDecodedImageStreamDekodar en bild-XObject till ett delat, referensräknat bitmappshandtag
DecodeImageStreamDekodar en bild-XObject till en bitmapp som anroparen äger
BeginProgressiveImageDecodeStartar en avbrytbar progressiv dekodare för en stor bildström
DecodeImageRegionDekodar en delregion av en bild vid en begärd pixelstorlek
AcquireDecodedImageRegionRegionvariant som returnerar ett delat, referensräknat bitmappshandtag
DecodeInlineImageDekodar en inline-bild från råa ID..EI-byte och det normaliserade BI-nyckelsetet, förbi objektnummervärnscachen; en nil-hook betyder att inline-bilder inte renderas
DecodeColorKeyMaskGör om en bild-XObjects color-key-/Mask-array till en mjuk mask i vitt och svart i bildens storlek; nil när bilden saknar användbar color-key-mask, och en nil-hook ritar sådana bilder omaskerade
ResolveFontDictSlår upp en typsnittsordbok på resursnyckel och följer indirekta referenser på nivåerna /Resources och /Font; nil när den saknas
EvalOCVisibilityUtvärderar ett /OC-egenskapsobjekt mot dokumentets lagertillstånd; nil-hook eller ett True-resultat betyder att innehållet ritas
CancellationTokenAvbrytningstoken som kontrolleras under långa dekodningsåtgärder
ColourIntentFärgbehandlingsavsikt som tillämpas på det renderade grafiktillståndet
FallbackPolicyStyr huruvida funktioner som inte stöds ignoreras, rapporteras eller behandlas som strikta fel
FallbackDiagnosticLimitSätter ett tak för antalet diagnostiska meddelanden som samlas in under fallback
OverprintPreviewAktiverar simulering av överprintningsförhandsvisning
ProofICCProfileICC-profilbyte som används för korrektursidan av färgpipelinen
OutputICCProfileICC-profilbyte som beskriver utmatningsenheten
BlackPointCompensationAktiverar svartpunktskompensering i ICC-transformeringen
SeparationPlateNamnet på den färgseparation som ska isoleras; tomt värde renderar normalt

Användningsanteckningar

Relaterade API:er