تعبئة النماذج الغنية المكتوبة النوع الأصلية على Windows

مهام ملفات Windows وhpdf_document_execute_json_v1 تقبلان طلبات forms.fill تحتوي richTextRuns بجانب تحديثات نص واختيار وأزرار عادية؛ وكل الحقول تتشارك PDF مرشحًا واحدًا مصادقًا عليه

المسارات المكتوبة النوع الأصلية تصل إلى مؤلف المظاهر الأصلي مباشرةً؛ وتوليد AP لا يعود للخلف عبر تمثيل ألوان RV المسلسل؛ وplain V وrich RV القياسي وAP الفعلي يُهيّئون معًا

الطلب

{
  "schemaVersion": 1,
  "type": "forms.fill",
  "fontFamilies": ["DejaVu Sans", "DejaVu Serif Condensed"],
  "fields": [
    {"name": "Input", "richTextRuns": [
      {"text": "Original typed precision", "fontFamily": "DejaVu Sans",
       "fontStyle": "regular", "fontSize": 12.123456,
       "color": [0.123456, 0.234567, 0.345678]},
      {"text": "Another paragraph", "fontFamily": "DejaVu Serif Condensed",
       "fontStyle": "boldItalic", "fontSize": 14.125,
       "paragraphBreakBefore": true, "alignment": "center",
       "underline": true, "strikeOut": false}
    ]},
    {"name": "Plain", "value": "Changed scalar"},
    {"name": "Choice", "values": ["B", "C"]},
    {"name": "Check", "value": "Yes"}
  ]
}

كل حقل يزوّد richTextRuns أو قيمة scalar أو values؛ والقيمة الاختيارية بجانب richTextRuns يجب أن تطابق النص plain المشتق الأصلي بدقة، بما يشمل carriage returns بين الفقرات المكتوبة النوع؛ وrichText المسلسل ليس إدخال مسارات مكتوبة النوع

كل مسار يتطلب text ويقبل fontStyle وfontSize وcolor وunderline وstrikeOut وparagraphBreakBefore وalignment؛ وfontStyle إما regular أو bold أو italic أو boldItalic؛ وalignment إما left أو center أو right؛ ومكوّنات RGB أعداد منتهية من صفر إلى واحد

أحجام المسارات يجب أن تكون موجبة و4096 نقطة كحد أقصى؛ والحجم المفقود يستخدم fontSize للحقل أو 12 نقطة؛ وترقيم PDF الأصلي ما زال يسري، بينما تسلسل CSS القياسي لـ RV ألوانًا بمكوّنات ثمانية بتات

خيارات مظهر الحقل تشمل fontSize وpadding وcharacterSpacing وwordSpacing وpaintWhiteBackground؛ وتوليد AP حقيقي مطلوب فـ appearance=false غير صالحة

برامج الخطوط الفعلية

مصفوفة fontFamilies للحقل تتجاوز مصفوفة العملية؛ والمصفوفات المهيأة تحتوي من تسمية عائلة صالحة غير فارغة إلى ست عش؛ والمطابقة تطوي حالة أحرف ASCII وتقارن بقية Unicode بدقة؛ وfontFamily صريحة للمسار يجب أن تطابق تسمية مهيأة، والتسمية المفقودة للمسار تنتقي أول عائلة

بدون fontFamilies، يبقى مسار العائلة الأحادية الأصلي متاحًا؛ وتأتي تسمية callback الخطوط من fontFamily للحقل أو fontFamily للعملية أو DejaVu Sans؛ ومسارات العائلة الأحادية الأصلية تُغفل fontFamily للمسار

مهام الملفات تضيف input وoutput وfonts؛ وfonts تخطط كل تسمية عائلة مهيأة إلى مسارات ملفات regular وbold وitalic وboldItalic; وتُحمَّل الأنماط المستخدمة فقط والوجه regular اللازم لظاهر scalars؛ ومسارات الملفات يجب ألا تعيد استخدام المخرج

استدعاء ABI بلغة C ذات الإصدار يستخدم امتداد hpdf_form_data_operation_v1 القائم ويعيد جداول hpdf_io_v1 قابلة للقراءة من callback خطوطها؛ وتسميات العائلات UTF-8 وقيم الأنماط من 0 إلى 3؛ وكل البرامج الفعلية تُنسخ إلى بايتات مملوكة محدودة السقف قبل تأليف المظاهر

رموز V1 الأصلية وأحجام البنى الأساسية وإزاحات الامتداد الاختيارية تبقى دون تغيير؛ وأصول العائلة/النمط تُخزَّن مؤقتًا داخل طلب واحد وتتشارك عبر الحقول دون احتساب نفس التخصيص المملوك مرارًا

‏fallbackFontFamilies=true الاختيارية تطبق fallback المحرف الكامل بين العائلات المقدَّمة الفعلية؛ ويمكن لمسارات مكتوبة النوع حفظ مصفوفة fontFamilyCandidates مرتبة، بمرشحين معلنين يُنظر فيهم قبل الترتيب المهيأ؛ انظر fallback الخطوط الغنية بالعائلات المقدَّمة على Windows لوراثة الطلب وتحميل callbacks الأنماط الأربعة

الرسم البياني الحالي والنشر

بلا InputIO، يستخدم ABI بلغة C مراجعته المحمَّلة المملوكة ورسمه البياني المعلق الفعلي؛ وInputIO اختيارية تزوّد PDF بديلًا يُنسخ ويُصادق عليه سريًا قبل أي callback خطوط؛ ولا تحويل المستدعي المستعار الإدخال ولا فشل البديل يمكنهما تغيير السياق المُرسَل

‏OutputIO وResultIO إلزاميتان؛ وPDF المرشّح الفعلي وJSON النتيجة يجب أن يكتمل كل منهما بنجاح، يليهما فحص الإلغاء النهائي، قبل أن يتبادل ABI بلغة C المستند والمصدر

callback فاشل ربما استلم بايتات مرشح مسبقًا؛ وعلى المستدعين إهلاك تلك البايتات عندما تكون الحالة المعادة غير صفرية؛ وسياق المكتبة المُرسَل سابقًا يبقى دون تغيير

مهام الملفات تهيئ المرشّح كاملًا والردود المحدودة السقف قبل الاستبدال الذري للمخرج المطلوب؛ والخط المفقود أو فشل السياسة أو الإلغاء أو فشل السعة يحفظ الهدف القائم

السياسات والنتيجة

سلامة التواقيع القائمة وDocMDP بقيم P1/P2/P3 وأقفال FieldMDP وأعلام القراءة فقط وأذونات AES لملء النماذج تُفرض عبر المحرك الأصلي المصادق عليه؛ وsignaturePolicy تقبل إعدادات الثقة والطابع الزمني والإبطال الصريحة نفسها لاستيرادات النماذج على Windows

تحديث للقراءة فقط بنفس الإدخال ينجح فقط عندما تكون معاملات AP الفعلية والخطوط والموارد وقيم الحقول مكافئة؛ ومسارات AP المضغوطة وRV المكافئ غير المقنّن مدعومان؛ وتغيير نمط حقيقي ما زال تغييرًا حتى لو كمّم لون RV لديها نفس قيمة CSS

طلب دون تغيير حقيقي ينشر بايتات المراجعة الحالية المُهيأة بدقة بعد مصادقة السياسة؛ والتعديلات المعلقة في الرسم البياني تجسد في تلك المراجعة الحالية قبل المقارنة

الردود الناجحة تتضمن typedRichText=true وtypedRichProfile=original-typed-runs-v1 وupdated وfieldCount وfontBytes وfields من المرشّح الفعلي المُهيأ؛ وformDataExchange.typedRichFill تصف نقاط الدخول المنفذة هذه

كل عنصر fields يحفظ الاسم العادي وقيمة scalar وملخص fieldType؛ والاختيار المدعوم بمصفوفة له قيمة scalar فارغة في هذا الملخص، بينما يبقى انتقاؤه الكامل في PDF المحفوظ وتصدير FDF/XFDF اللاحق

واجهة مهمة ExecuteLoadedOperation المباشرة وامتداد callback المهام القديم HPDFDocRunJob بالمقبض/الخطوط يبقيان عملًا منفصلًا؛ وهذا الربط لا يضيف تبادل تعليقات أو ملفات مضمّنة أو أفعال أو FDF تزايديًا

مواضع مرتبطة

FillTypedData, معاملة Windows, تحديثات مختلطة مكتوبة النوع أصلية, تبادل Windows للـ FDF/XFDF