عمليات 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 خطأ كامل

انظر دلالات الإزالة الأصلية ومهام ملفات Windows العادية