السجل 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
ShareRenderCachestrue عندما يسمح المستند للمُصَرِّفات المتزامنة بمشاركة ذاكرات فك الترميز
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اسم لوح الفصل الواجب عزله؛ والقيمة الفارغة تصيّر عاديًا

ملاحظات الاستخدام

واجهات برمجة التطبيقات ذات الصلة