THPDFRenderDocAccess Record

Koppelt de renderer aan documentservices voor het oplossen van verwijzingen, het lezen van streams, het decoderen van afbeeldingen, het vinden van fonts en het beoordelen van laagzichtbaarheid

Declaratie

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;

Eenheid

HPDFPageRenderer

Velden

VeldDoel
ContextContextpointer van de aanroeper die als eerste argument van elke callback wordt doorgegeven; het document bindt zichzelf hier
SharedCacheRenderercache die meerdere pagina’s kunnen delen wanneer ShareRenderCaches is ingeschakeld
ShareRenderCachesTrue wanneer het document gelijktijdige renderers decode-caches laat delen
ResolveObjectGenerieke resolver voor indirecte verwijzingen, voor elk objecttype; toegevoegd omdat de getypeerde resolvers nil teruggeven voor niet-matchende types
ResolveDictionaryLost een indirecte verwijzing naar een dictionary-object op, nil voor andere types
ResolveStreamLost een indirecte verwijzing naar een stream-object op
ReadDecodedStreamBytesLeest een stream volledig gedecodeerd in een bytearray
AcquireDecodedImageStreamDecodeert een image XObject naar een gedeelde, referentietelde bitmap-handle
DecodeImageStreamDecodeert een image XObject naar een bitmap in eigendom van de aanroeper
BeginProgressiveImageDecodeStart een annuleerbare progressieve decoder voor een grote afbeeldingsstream
DecodeImageRegionDecodeert een subgebied van een afbeelding op een gevraagde pixergrootte
AcquireDecodedImageRegionGebiedsvariant die een gedeelde, referentietelde bitmap-handle teruggeeft
DecodeInlineImageDecodeert een inline-afbeelding uit rauwe ID..EI-bytes en de genormaliseerde BI-sleutelset, zonder de objectnummercache; een nil-hook betekent dat inline-afbeeldingen niet worden gerenderd
DecodeColorKeyMaskZet de color-key-/Mask-array van een beeld-XObject om in een wit-zwart soft mask op de grootte van de afbeelding; nil wanneer de afbeelding geen bruikbare color-key-mask heeft, en een nil-hook tekent zulke afbeeldingen ongemaskeerd
ResolveFontDictZoekt een fontdictionary op via een resourcesleutel, waarbij indirecte verwijzingen op het /Resources- en /Font-niveau worden gevolgd; nil wanneer afwezig
EvalOCVisibilityBeoordeelt een /OC-propertyobject tegen de laagtoestanden van het document; een nil-hook of een True-resultaat betekent dat de content wordt getekend
CancellationTokenAnnuleringstoken dat tijdens lange decodeerbewerkingen wordt gecontroleerd
ColourIntentKleurintent die op de gerenderde graphics state wordt toegepast
FallbackPolicyBepaalt of niet-ondersteunde functies worden genegeerd, gerapporteerd of als strikte fouten behandeld
FallbackDiagnosticLimitBegrenst het aantal diagnostische meldingen dat tijdens het terugvallen wordt verzameld
OverprintPreviewSchakelt de overprint-preview-simulatie in
ProofICCProfileICC-profielbytes voor de proofzijde van de kleurpipeline
OutputICCProfileICC-profielbytes die het uitvoerapparaat beschrijven
BlackPointCompensationSchakelt black point compensation in de ICC-transformatie in
SeparationPlateNaam van de te isoleren sepaplaat; leeg betekent normaal renderen

Gebruiksopmerkingen

Gerelateerde API's