عمليات JSON وcallback لإزالة التعليقات
نقاط دخول العمليات على Windows وفي ABI C الأصلي لـ Linux تقبل annotations.remove؛ وJSON الطلب ينتقي التعليقات، بينما بايتات PDF تمر عبر callback IO بدل تضمينها في JSON
{
"schemaVersion": 1,
"type": "annotations.remove",
"annotations": [{"page": 0, "name": "review-note"}],
"annotationLimits": {
"maxAnnotations": 4096,
"maxOperations": 1000000,
"maxNameBytes": 1048576,
"maxWorkingBytes": 33554432
}
}
annotations يجب أن تكون مصفوفة كائنات تتضمن page عددًا صحيحًا داخل مستند الإدخال الفعلي وname سلسلة غير فارغة؛ والأسماء تطابق NM Unicode المفكوك تمامًا
المصفوفة الفارغة أو الهويات الصالحة غير المطابقة عملية no-op؛ والمنتقيات المكررة والأسماء المنتقاة الملتبسة وملكية التعليقات المشوهة وانتقاء Widget تفشل
دورة حياة الإدخال والنشر
دون IO إدخال، تعمل الإزالة على المستند الملتزم به الحالي للمقبض؛ وIO الإدخال الصريح يوفر PDF مستقلًا ويوضع على المسرح خاصًّا بدل استبدال السياق الحالي قبل نجاح العملية
زوّد password عندما تتطلب مصادقة الإدخال المشفر ذلك؛ وإذن التعليقات الفعلي وسياسة المستند الموقَّع يبقيان مطبقين
IO مخرجات PDF وIO النتيجة مصرفان منفصلان؛ والمحرك يهيئ المرشح، وينشر PDF الخاص به، وينشر نتيجة JSON محدودة السقوف، ويفحص الإلغاء، وبعد ذلك فقط يستبدل المستند الحالي للمقبض
فشل قراءة أو كتابة أو نشر نتيجة أو سياسة أو ميزانية أو إلغاء يحفظ السياق الملتزم به السابق ويسمح بإعادة محاولة عادية على ذلك المقبض
مصرف callback قد يحتوي بايتات أصلًا عندما يفشل كتابة لاحقة أو result callback أو إلغاء؛ وتراجع السياق لا يستطيع سحب تلك البايتات الخارجية، لذا على المستدعين وضع ونشر مصارفهم الخاصة transactionally
الإزالة المتكررة على النتيجة الملتزم بها تعيد صفرًا وتنشر المراجعة الحالية الدقيقة؛ وقارن مخرجات callback بعد فحص حالة العملية فقط
النتيجة والسقوف
النتيجة الناجحة تتضمن schemaVersion: 1 وstatusCode: 0 وstatus: "ok" وremoved وmediaType: "application/pdf" وannotationProfile: "page-and-nm-removal-v1"
removed يشمل شلالات popup والردود ويحتسب كل تعليق مرة واحدة حتى عندما تشكل الاعتماديات حلقة
annotationLimits يخفض السعات الموجبة الفعلية الموصوفة في THPDFHeadlessAnnotationRemovalOptions؛ وسقوف ذاكرة العملية والعناصر والصفحات والمخرجات والنتيجة والزمن المنقضي تبقى مستقلة
signaturePolicy الاختيارية تهيئ سياسة CMS الموثقة القائمة، بما يشمل CAdES المطلوب والطوابع الزمنية ومتطلبات الثقة المدعومة من نقطة دخول العملية
الإزالات الفعلية تخضع لأذونات تعليقات AES وسياسة شهادة اعتماد موثقة P1/P2/P3؛ وفحص كلمة مرور ناجح أو رسالة خطأ غير موقَّعة ليس دليل إذن ولا شهادة اعتماد موثوقة
عند الفشل افحص حالة العملية المعادة ونتيجة الخطأ المهيكلة المتاحة؛ ومصرف نتيجة فاشل قد يمنع تسليم مستند JSON خطأ كامل