السجل THPDFRenderDocAccess
يربط المُصرِّف بخدمات المستند لحل الإحالات وقراءة التدفقات وفك ترميز الصور وإيجاد الخطوط وتقييم رؤية الطبقات
التصريح
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;
الوحدة
HPDFPageRenderer
الحقول
| الحقل | الغرض |
|---|---|
Context | مؤشر سياق يوفره المستدعي يُمرَّر بوصفه الوسيط الأول لكل رد نداء؛ ويربط المستند نفسه هنا |
SharedCache | ذاكرة مؤقتة للمُصرِّف يمكن لعدة صفحات مشاركتها عند تفعيل ShareRenderCaches |
ShareRenderCaches | true عندما يسمح المستند للمُصَرِّفات المتزامنة بمشاركة ذاكرات فك الترميز |
ResolveObject | حالّ إحالات غير مباشرة عام لأي نوع كائن؛ أُضيف لأن الحالّات المميزة النوع تعيد nil للأنواع غير المطابقة |
ResolveDictionary | يحل إحالة غير مباشرة إلى كائن قاموس، ويعيد nil لأنواع أخرى |
ResolveStream | يحل إحالة غير مباشرة إلى كائن تدفق |
ReadDecodedStreamBytes | يقرأ تدفقًا مفكوك الترميز كليًا إلى مصفوفة بايتات |
AcquireDecodedImageStream | يفك ترميز XObject صورة إلى مقبض صورة نقطية مشترك بعدّ مراجع |
DecodeImageStream | يفك ترميز XObject صورة إلى صورة نقطية يملكها المستدعي |
BeginProgressiveImageDecode | يبدأ مفككًا تدريجيًا قابلًا للإلغاء لتدفق صورة كبير |
DecodeImageRegion | يفك ترميز منطقة فرعية من صورة بحجم بكسل مطلوب |
AcquireDecodedImageRegion | صيغة المنطقة التي تعيد مقبض صورة نقطية مشتركًا بعدّ مراجع |
DecodeInlineImage | يفك ترميز صورة سطرية من بايتات ID..EI الخام ومجموعة مفاتيح BI الموحدة، متجاوزًا ذاكرة أرقام الكائنات؛ وخطاف nil يعني عدم تصيير الصور السطرية |
DecodeColorKeyMask | يحوّل مصفوفة /Mask القائمة على مفاتيح اللون لـ XObject صورة إلى قناع ناعم أبيض وأسود بحجم الصورة؛ وnil عندما لا يكون للصورة قناع مفاتيح لون قابل للاستخدام، وخطاف nil يرسم هذه الصور دون قناع |
ResolveFontDict | يبحث عن قاموس خط بمفتاح مورد متبعًا الإحالات غير المباشرة عند مستويي /Resources و/Font؛ وnil عند الغياب |
EvalOCVisibility | يقيم كائن خاصية /OC مقابل حالات طبقات المستند؛ وخطاف nil أو نتيجة true تعني رسم المحتوى |
CancellationToken | رمز إلغاء يُفحص أثناء عمليات فك الترميز الطويلة |
ColourIntent | قصد معالجة الألوان المطبق على الحالة الرسومية المصيَّرة |
FallbackPolicy | يختار ما إذا تُتجاهل الميزات غير المدعومة أو تُبلَّغ أو تعامل بوصفها إخفاقات صارمة |
FallbackDiagnosticLimit | يضع سقفًا لعدد الرسائل التشخيصية المجموعة أثناء الرجوع |
OverprintPreview | يفعّل محاكاة معاينة الطباعة الفوقية |
ProofICCProfile | بايتات ملف تعريف ICC المستخدمة لجانب التجارب في مسار الألوان |
OutputICCProfile | بايتات ملف تعريف ICC تصف جهاز الإخراج |
BlackPointCompensation | يفعّل تعويض النقطة السوداء في تحويل ICC |
SeparationPlate | اسم لوح الفصل الواجب عزله؛ والقيمة الفارغة تصيّر عاديًا |
ملاحظات الاستخدام
- يربط THotPDF كل خطاف عبر مساعده الداخلي
MakeRenderDocAccess، فتتلقى التطبيقات سجلًا جاهزًا بدلًا من تعبئته - تقرأ خلفيات العرض المخصصة هذه الخطافات من
THPDFPageRenderBackendRequestبدلًا من الوصول إلى المستند مباشرة - اترك
DecodeInlineImageأوEvalOCVisibilityبالقيمة nil لاستعادة السلوك القديم المتمثل في تخطي الصور السطرية ورسم كل المحتوى الاختياري