THPDFRenderDocAccess Record

Wiąże renderer z usługami dokumentu do rozwiązywania referencji, czytania strumieni, dekodowania obrazów, odnajdowania czcionek i oceniania widoczności warstw

Deklaracja

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;

Jednostka

HPDFPageRenderer

Pola

PolePrzeznaczenie
ContextWskaźnik kontekstu podany przez wywołującego, przekazywany jako pierwszy argument każdego callbacka; dokument wpina tu sam siebie
SharedCachePamięć podręczna renderera, którą kilka stron może współdzielić, gdy włączone jest ShareRenderCaches
ShareRenderCachesTrue, gdy dokument pozwala współbieżnym rendererom współdzielić cache dekodowania
ResolveObjectOgólny rozwiązywacz referencji pośrednich dla dowolnego typu obiektu; dodany, bo typowane rozwiązywacze zwracają nil dla niedopasowanych typów
ResolveDictionaryRozwiązuje referencję pośrednią na obiekt słownika, nil dla innych typów
ResolveStreamRozwiązuje referencję pośrednią na obiekt strumienia
ReadDecodedStreamBytesCzyta strumień w pełni zdekodowany do tablicy bajtów
AcquireDecodedImageStreamDekoduje XObject obrazu do współdzielonego uchwytu bitmapy z licznikiem referencji
DecodeImageStreamDekoduje XObject obrazu do bitmapy należącej do wywołującego
BeginProgressiveImageDecodeUruchamia anulowalny dekoder progresywny dla dużego strumienia obrazu
DecodeImageRegionDekoduje podobszar obrazu w żądanym rozmiarze w pikselach
AcquireDecodedImageRegionWariant regionalny zwracający współdzielony uchwyt bitmapy z licznikiem referencji
DecodeInlineImageDekoduje obraz inline z surowych bajtów ID..EI i znormalizowanego zbioru kluczy BI, omijając cache numerów obiektów; hak nil oznacza, że obrazy inline nie są renderowane
DecodeColorKeyMaskZamienia tablicę color-key /Mask XObjecta obrazu w miękką maskę bieli i czerni w rozmiarze obrazu; nil, gdy obraz nie ma użytecznej maski color-key, a hak nil rysuje takie obrazy bez maski
ResolveFontDictSzuka słownika czcionki po kluczu zasobu, podążając za referencjami pośrednimi na poziomach /Resources i /Font; nil, gdy brak
EvalOCVisibilityOcenia obiekt właściwości /OC względem stanów warstw dokumentu; hak nil albo wynik True oznaczają, że treść jest rysowana
CancellationTokenToken anulowania sprawdzany podczas długich operacji dekodowania
ColourIntentIntencja obsługi koloru stosowana do wyrenderowanego stanu grafiki
FallbackPolicyWybiera, czy nieobsługiwane cechy są ignorowane, raportowane, czy traktowane jako twarde porażki
FallbackDiagnosticLimitOgranicza liczbę komunikatów diagnostycznych zbieranych podczas fallbacku
OverprintPreviewWłącza symulację podglądu overprint
ProofICCProfileBajty profilu ICC używane po stronie proofingu potoku koloru
OutputICCProfileBajty profilu ICC opisujące urządzenie wyjściowe
BlackPointCompensationWłącza kompensację czarnego punktu w transformacji ICC
SeparationPlateNazwa płyty separacyjnej do wyizolowania; pusta renderuje normalnie

Uwagi dotyczące użycia

Powiązane API