Registro THPDFRenderDocAccess

Liga el renderizador a los servicios del documento para resolver referencias, leer streams, decodificar imágenes, localizar fuentes y evaluar la visibilidad de capas

Declaración

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;

Unidad

HPDFPageRenderer

Campos

CampoPropósito
ContextPuntero de contexto suministrado por quien llama y pasado como primer argumento de cada callback; el documento se liga aquí
SharedCacheCaché del renderer que varias páginas pueden compartir cuando ShareRenderCaches está activado
ShareRenderCachesTrue cuando el documento permite que renderizadores concurrentes compartan cachés de decodificación
ResolveObjectResolvedor genérico de referencias indirectas para cualquier tipo de objeto; se añadió porque los resolvedores tipados devuelven nil para tipos no coincidentes
ResolveDictionaryResuelve una referencia indirecta a un objeto diccionario, nil para otros tipos
ResolveStreamResuelve una referencia indirecta a un objeto stream
ReadDecodedStreamBytesLee un stream totalmente decodificado en un array de bytes
AcquireDecodedImageStreamDecodifica un XObject de imagen en un manejador de bitmap compartido y con recuento de referencias
DecodeImageStreamDecodifica un XObject de imagen en un bitmap propiedad de quien llama
BeginProgressiveImageDecodeInicia un decodificador progresivo cancelable para un stream de imagen grande
DecodeImageRegionDecodifica una subregión de una imagen con un tamaño de píxel solicitado
AcquireDecodedImageRegionVariante de región que devuelve un manejador de bitmap compartido y con recuento de referencias
DecodeInlineImageDecodifica una imagen inline desde bytes ID..EI crudos y el conjunto de claves BI normalizado, saltándose la caché de números de objeto; un hook nil significa que las imágenes inline no se renderizan
DecodeColorKeyMaskConvierte el array /Mask de clave de color de un image XObject en una máscara suave blanca y negra del tamaño de la imagen; nil cuando la imagen no tiene máscara de clave de color utilizable, y un hook nil dibuja tales imágenes sin máscara
ResolveFontDictBusca un diccionario de fuente por clave de recurso, siguiendo referencias indirectas en los niveles /Resources y /Font; nil cuando está ausente
EvalOCVisibilityEvalúa un objeto de propiedad /OC contra los estados de capa del documento; un hook nil o un resultado True significa que el contenido se dibuja
CancellationTokenToken de cancelación comprobado durante operaciones de decodificación largas
ColourIntentIntención de manejo de color aplicada al estado gráfico renderizado
FallbackPolicySelecciona si las características no soportadas se ignoran, se informan o se tratan como fallos estrictos
FallbackDiagnosticLimitLimita el número de mensajes de diagnóstico recogidos durante el fallback
OverprintPreviewActiva la simulación de vista previa de overprint
ProofICCProfileBytes de perfil ICC usados para el lado de prueba del pipeline de color
OutputICCProfileBytes de perfil ICC que describen el dispositivo de salida
BlackPointCompensationActiva la compensación de punto negro en la transformación ICC
SeparationPlateNombre de la placa de separación que hay que aislar; vacío renderiza con normalidad

Notas de uso

APIs relacionadas