THPDFRenderDocAccess Kaydı
Renderer'ı, referans çözümleme, stream okuma, görsel çözümleme, font bulma ve layer görünürlüğü değerlendirme işleri için document servislerine bağlar
Bildirim
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;
Birim
HPDFPageRenderer
Alanlar
| Alan | Amaç |
|---|---|
Context | Her callback'e ilk argüman olarak geçilen, çağıranın sağladığı context pointer'ı; belge kendisini buraya bağlar |
SharedCache | ShareRenderCaches etkinken birkaç sayfanın paylaşabildiği renderer cache'i |
ShareRenderCaches | Belge, eşzamanlı renderer'ların decode cache'lerini paylaşmasına izin veriyorsa True |
ResolveObject | Herhangi bir nesne türü için genel indirect-reference çözümleyici; tipli çözümleyiciler uyuşmayan türlerde nil döndürdüğü için eklendi |
ResolveDictionary | Bir indirect reference'i dictionary nesnesine çözümler; diğer türlerde nil |
ResolveStream | Bir indirect reference'i stream nesnesine çözümler |
ReadDecodedStreamBytes | Bir stream'i tamamen çözümlenmiş olarak bayt dizisine okur |
AcquireDecodedImageStream | Bir image XObject'i paylaşımlı, referans sayılmış bir bitmap handle'ına çözer |
DecodeImageStream | Bir image XObject'i çağıranın sahipliğindeki bir bitmap'e çözer |
BeginProgressiveImageDecode | Büyük bir image stream için iptal edilebilir progressive decoder başlatır |
DecodeImageRegion | Bir görselin alt bölgesini istenen piksel boyutunda çözer |
AcquireDecodedImageRegion | Paylaşımlı, referans sayılmış bir bitmap handle'ı döndüren bölge varyantı |
DecodeInlineImage | Bir inline image'i ham ID..EI baytlarından ve normalleştirilmiş BI key kümesinden, nesne numarası cache'ini atlayarak çözer; nil hook, inline image'lerin render edilmediği anlamına gelir |
DecodeColorKeyMask | Bir image XObject'in color-key /Mask dizisini, image boyutunda siyah-beyaz bir soft mask'ye dönüştürür; görselin kullanılabilir color-key maskesi yoksa nil ve nil hook, bu tür image'leri maskesiz çizer |
ResolveFontDict | Bir font dictionary'sini resource key ile arar; /Resources ve /Font düzeylerindeki indirect reference'leri izler; yoksa nil |
EvalOCVisibility | Bir /OC property nesnesini belge layer durumlarına karşı değerlendirir; nil hook veya True sonucu, içeriğin çizileceği anlamına gelir |
CancellationToken | Uzun decode işlemleri sırasında kontrol edilen cancellation token |
ColourIntent | Render edilen graphics state'e uygulanan renk işleme intent'i |
FallbackPolicy | Desteklenmeyen özelliklerin yok sayılacağını, bildirileceğini ya da katı başarısızlık sayılacağını seçer |
FallbackDiagnosticLimit | Düşüş sırasında toplanan tanılama mesajlarının sayısını sınırlar |
OverprintPreview | Overprint preview simülasyonunu etkinleştirir |
ProofICCProfile | Renk hattının proofing tarafı için kullanılan ICC profil baytları |
OutputICCProfile | Çıktı aygıtını tanımlayan ICC profil baytları |
BlackPointCompensation | ICC dönüşümünde black point compensation'ı etkinleştirir |
SeparationPlate | İzole edilecek separation plate'inin adı; boşken normal render yapılır |
Kullanım notları
- THotPDF her hook'u dahili
MakeRenderDocAccesshelper'ı üzerinden bağlar; uygulamalar kaydı kendileri doldurmak yerine hazır bir kayıt alır - Özel render backend'leri bu hook'ları doğrudan belgeden değil
THPDFPageRenderBackendRequestüzerinden okur - Inline image'leri atlama ve tüm optional content'i çizme eski davranışını geri getirmek için
DecodeInlineImageveyaEvalOCVisibility'yi nil bırakın