THPDFRenderDocAccess Record

Lega il renderer ai servizi del documento per risolvere riferimenti, leggere stream, decodificare immagini, trovare font e valutare la visibilità dei livelli

Dichiarazione

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;

Unità

HPDFPageRenderer

Campi

CampoScopo
ContextPuntatore di contesto fornito dal chiamante e passato come primo argomento di ogni callback; il documento vi lega se stesso
SharedCacheCache del renderer che più pagine possono condividere quando ShareRenderCaches è abilitato
ShareRenderCachesTrue quando il documento permette a renderer concorrenti di condividere le cache di decodifica
ResolveObjectResolver generico di riferimenti indiretti per qualsiasi tipo di oggetto; aggiunto perché i resolver tipizzati restituiscono nil per i tipi non corrispondenti
ResolveDictionaryRisolve un riferimento indiretto a un oggetto dizionario, nil per gli altri tipi
ResolveStreamRisolve un riferimento indiretto a un oggetto stream
ReadDecodedStreamBytesLegge uno stream completamente decodificato in un array di byte
AcquireDecodedImageStreamDecodifica un XObject immagine in un handle di bitmap condiviso e con conteggio dei riferimenti
DecodeImageStreamDecodifica un XObject immagine in una bitmap di proprietà del chiamante
BeginProgressiveImageDecodeAvvia un decoder progressivo cancellabile per uno stream di immagine grande
DecodeImageRegionDecodifica una sotto-regione di un'immagine alla dimensione in pixel richiesta
AcquireDecodedImageRegionVariante per regione che restituisce un handle di bitmap condiviso e con conteggio dei riferimenti
DecodeInlineImageDecodifica un'immagine inline dai byte grezzi ID..EI e dall'insieme di chiavi BI normalizzato, bypassando la cache per numero d'oggetto; un hook nil significa che le immagini inline non vengono renderizzate
DecodeColorKeyMaskTrasforma l'array color-key /Mask di un XObject immagine in una maschera morbida bianco-e-nera della dimensione dell'immagine; nil quando l'immagine non ha una color-key mask utilizzabile, e un hook nil disegna tali immagini senza maschera
ResolveFontDictCerca un dizionario di font per chiave di risorsa, seguendo i riferimenti indiretti ai livelli /Resources e /Font; nil quando assente
EvalOCVisibilityValuta un oggetto proprietà /OC contro gli stati dei livelli del documento; un hook nil o un risultato True significa che il contenuto viene disegnato
CancellationTokenToken di cancellazione controllato durante le operazioni di decodifica lunghe
ColourIntentIntent di gestione del colore applicato allo stato grafico renderizzato
FallbackPolicySeleziona se le funzionalità non supportate sono ignorate, riportate o trattate come fallimenti rigidi
FallbackDiagnosticLimitLimita il numero di messaggi diagnostici raccolti durante il fallback
OverprintPreviewAbilita la simulazione dell'anteprima overprint
ProofICCProfileByte del profilo ICC usati per il lato di proofing della pipeline del colore
OutputICCProfileByte del profilo ICC che descrive il dispositivo di output
BlackPointCompensationAbilita la compensazione del punto nero nella trasformazione ICC
SeparationPlateNome della lastra di separazione da isolare; vuoto renderizza normalmente

Note d'uso

API correlate