PDFium Delphi Component Docs

FlattenPage الطريقة

المكوّن: TPdf  ·  الوحدة: PDFium
تسطيح التعليقات وأدوات النموذج في الصفحة الحالية إلى محتوى صفحة دائم (غير قابل للتحرير). يختار nFlag ملف التسطيح: FLAT_NORMALDISPLAY (0) لعرض الشاشة أو FLAT_PRINT (1) للإخراج المطبوع. يعيد أحد FLATTEN_SUCCESS أو FLATTEN_NOTHINGTODO أو FLATTEN_FAIL. استدعِ GenerateFormAppearances أولًا عند تسطيح قيم النموذج المملوءة.

الصياغة

function FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): Integer;

nFlagInteger. يختار ملف التسطيح. مرِّر FLAT_NORMALDISPLAY (0، الافتراضي) للتحسين للإخراج للعرض على الشاشة، أو FLAT_PRINT (1) للتحسين للإخراج المطبوع.

قيمة الإرجاع

أحد ثلاثة ثوابت صحيحة: FLATTEN_SUCCESS (1) — دُمجت التعليقات في محتوى الصفحة بنجاح؛ FLATTEN_NOTHINGTODO (2) — لم يكن للصفحة تعليقات أو أدوات لتسطيحها؛ FLATTEN_FAIL (0) — فشلت العملية.

الوصف

يدمج FlattenPage جميع التعليقات وأدوات AcroForm في الصفحة الحالية في تيار محتوى الصفحة الدائم غير القابل للتحرير. بمجرد التسطيح، لا تبقى التعليقات تفاعلية — تصبح رسومات عادية لا يمكن تحريرها أو حذفها أو إرسالها. هذه هي التقنية القياسية لإنتاج PDF "مقفل" يحافظ على المظهر المرئي لنموذج مملوء أو مستند مُعلَّق.

يختار المعامل nFlag ملف التصيير المستخدم عند رسم الأدوات في محتوى الصفحة. استخدم FLAT_NORMALDISPLAY (0) للمستندات التي ستُعرض على الشاشة، و FLAT_PRINT (1) للمستندات المخصصة للطباعة.

عندما تحتوي الصفحة على حقول نموذج مملوءة، يجب عليك استدعاء GenerateFormAppearances قبل FlattenPage. فبدون تيارات المظهر، لا يملك المسطِّح تمثيلًا مرئيًا للدمج وسيحذف قيم الحقول صامتًا من الإخراج. التسلسل الموصى به لصفحة واحدة هو: تعيين قيم FormField[] → GenerateFormAppearances → FlattenPage → SaveAs.

لتسطيح كل صفحة في مستند في استدعاء واحد استخدم FlattenAllPages. تحقق من قيمة الإرجاع مقابل FLATTEN_FAIL لكشف الأخطاء؛ فـ FLATTEN_NOTHINGTODO ليست حالة خطأ.

مثال

var
  Res: Integer;
begin
  Pdf1.PageIndex := 0;
  // Fill a form field, regenerate appearances, then flatten
  Pdf1.FormField[0] := 'John Smith';
  Pdf1.GenerateFormAppearances;
  Res := Pdf1.FlattenPage(FLAT_NORMALDISPLAY);
  if Res = FLATTEN_FAIL then
    ShowMessage('Flatten failed')
  else
    Pdf1.SaveAs('output_flat.pdf');
end;

انظر أيضًا

FlattenAllPages, GenerateFormAppearances, SaveAs, Annotation