PDFium Delphi Component Docs

ExportXFDF الطريقة

المكوّن: TPdf  ·  الوحدة: PDFium
يسلسل كل قيمة حقل نموذج وكل تعليق عبر جميع صفحات المستند المحمَّل إلى مستند XFDF (ISO 19444-1)، مكتوب كـ XML بترميز UTF-8 مع فضاء الأسماء http://ns.adobe.com/xfdf/.

الصياغة

function ExportXFDF(const FileName: string): Integer; overload;
function ExportXFDF(Stream: TStream): Integer; overload;
function ExportXFDFToStream(Stream: TStream): Integer;

الوصف

يتنقل ExportXFDF عبر كل صفحة من المستند المحمَّل وينتج مستند XFDF مطابقًا لـ ISO 19444-1 متجذرًا في فضاء الأسماء http://ns.adobe.com/xfdf/. يتكون الإخراج من قسم <fields> وقسم <annots>، يصدر كلاهما كـ XML بترميز UTF-8.

بالنسبة لحقول النموذج، تعد الطريقة تعليقات الأدوات في كل صفحة، وتقرأ قيمة كل حقل، وتكتب عنصر <field>. تُقسم أسماء الحقول الهرمية (المؤهلة) عند فاصل النقطة وتُصدر كعناصر <field> متداخلة بحيث تنتقل بنية الأب/الابن ذهابًا وإيابًا. تصدِّر مربعات الاختيار وأزرار الاختيار قيمة التصدير الخاصة بها (اسم حالة المظهر الذي يمثل حالة التشغيل) كقيمة الحقل. تُدرج حقول التوقيع لكن قيمتها لا تُصدَّر أبدًا.

تُبقي علامات وجود القيمة قيمة الحقل الفارغة صراحةً مميزة عن القيمة المهملة، بما في ذلك الحقول المتداخلة لأكثر من مستويين عمقًا

بالنسبة للتعليقات، يُسلسَل كل تعليق غير أداة وغير منبثق في كل صفحة. يتعرف المصدر على 18 قيمة /Subtype: نص، وتمييز، وتسطير، وشطب، وتشويش، وخط، ودائرة، ومربع، ومؤشر إدخال، ومضلع، وخط متعدد، وختم، وحبر، ونص حر، ومرفق ملف، وصوت، ورابط، وحجب. يُكتب كل منها كعنصر تحت <annots> يحمل فهرس صفحته، ومستطيله المحيط، ومحتوياته، وعنوانه (المؤلف)، واسمه (NM)، وموضوعه، وتاريخي التعديل والإنشاء، وعلاماته، ولونه.

تتبع اصطلاحات الترميز ISO 19444-1: تُكتب الألوان كسلاسل سداسية عشرية #RRGGBB؛ وقوائم الإحداثيات (المستطيل، ونقاط نهاية الخط، ورؤوس المضلع/الخط المتعدد، وقوائم الحبر) أرقام مفصولة بفواصل؛ وتُصدر علامات التعليق كقائمة أسماء علامات مفصولة بفواصل بدلًا من قناع بتات خام.

بالنسبة لتعليقات التمييز متعددة الأسطر، تتضمن سمة coords كل رباعي بترتيب المستند بدلًا من السطر الأول فقط

Annotation content uses the same presence semantics, so an explicit empty contents element survives export without turning an absent element into an empty one

PDFium itself exposes no XFDF API. ExportXFDF is implemented entirely in Pascal by PDFium Delphi Component on top of its own annotation and form-field data model, querying PDFium only for the per-annotation attribute values.

Returns the number of UTF-8 bytes written. The Stream overload accepts a TStream to write into; the FileName overload accepts a file path and creates/truncates that file. ExportXFDFToStream is an alias for the Stream overload.

ملاحظات

مثال

// Export all fields and annotations to an .xfdf file
BytesWritten := Pdf1.ExportXFDF('C:\Data\form.xfdf');

// Or to a stream
var
  Stream: TFileStream;
begin
  Stream := TFileStream.Create('C:\Data\form.xfdf', fmCreate);
  try
    Pdf1.ExportXFDF(Stream);
  finally
    Stream.Free;
  end;
end;

انظر أيضًا

ImportXFDF, Annotation, AnnotationCount, FormFieldInfo