حالة العارض لمحتوى اختياري

الرسترة الأصلية يمكنها تطبيق توصيات optional-content بأسلوب العارض صراحةً من المقاطع 8.11.4.4 و8.11.4.5 في ISO 32000-1:2008

الخيارات الافتراضية تترك ViewerState=nil وتحفظ سلوك D للشكل النهائي المستقل في كلا استخدامَي التعليقات، دون تطبيق AS تلقائيًا

Access := Document.GetRenderAccess(0);
Context := THPDFOptionalContentContext.Default;
Context.Zoom := 2;
Context.Language := 'en-US';
Viewer := THPDFHeadlessOptionalContentState.Create(Access, Context);
try
  Viewer.SetGroupState(10, 0, True);
  Options := THPDFHeadlessRenderOptions.Default;
  Options.ViewerState := Viewer;
  Viewer.Event := hocePrint;
  Options.Usage := hruPrint;
  HPDFRenderHeadlessPagePNGFile(Access, OutputFile, Options);
finally
  Viewer.Free;
end;

‏View تهيئ D وتطبق تطبيقات View المطابقة ثم التجاوزات اليدوية؛ وتطبيقات Print أو Export تستبدل مؤقتًا التوصيات الحالية لتلك العملية ولا تعدّل كائن الحالة أو قواميس PDF

كل توصية نشطة عبر تطبيقات وفئات مطابقة يجب أن تكون ON كي تتلقى مجموعة ON؛ ومعلومات الاستخدام الغائبة لا توفر توصية وتحفظ الحالة الحالية لتلك المجموعة

الفئات المدعومة هي View وPrint وExport وZoom وLanguage وUser؛ وCreatorInfo وPageElement تبقيان معلوماتيةً

‏Zoom تستخدم حدًا أدنى شاملًا وأقصى حصريًا، مع اشتراط حد واحد على الأقل وافتراضات صفر ولا نهاية؛ وLanguage تفضّل الوسوم المطابقة تمامًا دون حالة أحرف داخل OCGs التطبيق، وإلا تطابق مجموعات اللغة الأولية الموسومة Preferred ON

‏User تقارن Individual أو Title أو Organization المقدَّمة صراحةً مقابل سلسلة أو مصفوفة أسماء بنص Unicode دقيق؛ وسلاسل النص PDFDocEncoding وUTF-16 وUTF-8 في PDF 2.0 تحفظ معناها المفكوك

التطبيق ذو OCGs غائبة يقصّر افتراضيًا إلى مجموعة مجموعات فارغة؛ وPrintState الغائبة من قاموس استخدام Print قائم لا توفر توصية

‏AS لا تقيّد الفئات بالحدث المسنّى بنفس الاسم، فتطبيق Print يمكنه تطبيق توصيات Zoom أو Language باستخدام السياق الصريح نفسه

سياسات OCMD وتعبيرات VE التكرارية والمحتوى المشار المتداخل وForm XObjects والصور ومظاهر التعليقات تستهلك حالات المجموعات الناتجة عبر مسار الظهور المحدود السقف القائم

التغييرات اليدوية تستمر عبر تغييرات السياق حتى تُمسح أو تُستعاد؛ وإعادة تحميل المستند أو تعديله أو إغلاقه أو إهلاكه يُنهي الحالة نهائيًا ويستلزم وصولًا طازجًا وكائنًا جديدًا

أبقِ الحالة المستعارة حية ودون تغيير خلال كل تصيير؛ وإعادة الاستخدام للقراءة فقط مسموحة بينما يبقى عقد التزامن لـ callbacks المحوّل الأساسي ساريًا

عمل التصيير وبحث المجموعات ومسوح مرشحي اللغة وبحث الانتقاء اليدوي وفك النص السداسي وUTF-8 المحدودَي السقف وتخزين الحالة المؤقتة تدخل في حدود العمليات والـ tokens والبايتات المفكوكة والبايتات العاملة والإلغاء

SetGroupState عملية حاوية حالة بدفع من المستدعي بسعة 100000 انتقاء؛ وحدود التصيير تحدد سقف الاستهلاك باستقلالية، وعلى التطبيقات فرض حدود مناسبة على طلبات انتقاء خارجية

حدث العارض مستقل عن Usage للتعليقات؛ ولا يمنح أي خيار إذن طباعة ولا ينفذ أفعال SetOCGState ولا يفعّل rich media ولا ينشئ واجهة مستخدم

القبول يستخدم حالات معلنة مستقلة وأقنعة مستطيلات RGB دقيقة واختبارات عمر وتحويلاً وتصييرًا متزامنًا معيد الدخول وcallbacks متسلسلة ومشاهدات MuPDF وPoppler منفصلة

مشاهدات السياق الافتراضي للقارئ لا تحل محل معادلات Zoom أو Language أو User أو الحالة اليدوية الأصلية الصريحة؛ ومرافقات الهندسة العادية تتحقق باستقلالية من إحداثيات الـ raster

عمليات JSON ذات الإصدار على Linux

{
  "schemaVersion": 1,
  "type": "render",
  "dpi": 72,
  "usage": "view",
  "optionalContent": {
    "event": "print",
    "zoom": 2,
    "language": "en-US",
    "individual": "Alice",
    "title": "Engineer",
    "organization": "Example",
    "selections": [
      {"objectNumber": 10, "generationNumber": 0, "enabled": true}
    ]
  }
}

إغفال optionalContent يحفظ سلوك D الساكن؛ والكائن يفعّل الحالة التلقائية بحدث View افتراضي وتكبير 1 وسلستَي لغة ومستخدم فارغتين

الحدث يقبل view أو print أو export ويبقى مستقلًا عن usage للتعليقات؛ ولا تُستنتج لغة نظام تشغيل ولا هوية مستخدم ولا تكبير عرض

سلاسل السياق تقبل حتى 4096 وحدة UTF-16 code لكل منها؛ والتكبير يجب أن يكون منتهيًا وموجبًا و1000000000 كحد أقصى

الانتقالات تتطلب رقم كائن موجبًا ورقم توليد من صفر إلى 65535 وقيمة enabled منطقية صريحة؛ وتقبل العملية حتى 1024 انتقاء داخل حد ذاكرتها العاملة، والمراجع المتكررة تستخدم آخر حالة مقدَّمة

كل عملية تنشئ وتحرر حالتها الأصلية المستعارة، فأرسل الانتقالات اليدوية المقصودة مجددًا مع طلب لاحق؛ وقواميس PDF والتصييرات اللاحقة بلا هذا الكائن تحفظ تهيئتها السابقة

خيارات JSON المشوهة تعيد حالة invalid-argument وفشل الميزانية المقبولة تعيد حالة budget-exceeded وmetadata المستند المشوه أو مراجع المجموعات المتقادمة تحفظ حالة خطأ تحليل التصيير القائمة قبل نشر PNG

القدرات تبلّغ optionalContent.automaticState والأحداث الثلاثة وأعضاء السياق الصريحة ودعم الانتقاء اليدوي وعمر العملية

ولّد مصادر Language/User فعلية plain وAES R5/R6 بـ Tests/Linux/Build-LinuxABIOptionalAutomaticFixtures.py OUTPUT، ثم شغّل Tests/Linux/Run-LinuxABIOptionalAutomaticAcceptance.sh LIBRARY FIXTURES NEW_OUTPUT مقابل كل بناء ABI أصلي

قبول callback يفحص صيغ بكسل مستقلة وأنواع JSON صارمة وتشفيرًا وميزانيات وإلغاءً وفشل مخرجات/نتيجة لاصقًا واسترداد المقبض نفسه وغياب حالة عارض محفوظة؛ ويتطلب pypdf وcryptography وNumPy وPillow ويكبح فتح عارض سطح المكتب

انظر THPDFHeadlessOptionalContentState وTHPDFOptionalContentContext وIHPDFHeadlessRenderLifetime