PDFium Delphi Component Docs

InsertFormObjectFromXObject الطريقة

المكوّن: TPdf  ·  الوحدة: PDFium
إدراج نسخة واحدة من الصفحة التي يلفها TPdfXObject في الصفحة الحالية لهذا المستند، معيدًا FPDF_PAGEOBJECT بحيث يستطيع المستدعي موضعته / قياسه / تدويره.

الصياغة

function InsertFormObjectFromXObject(XObject: TPdfXObject): FPDF_PAGEOBJECT;

الوصف

الدالة InsertFormObjectFromXObject هي النصف الثاني من واجهة إعادة استخدام Form XObject في v1.25.0. فهي تأخذ مقبض TPdfXObject (المبني بواسطة CreateXObjectFromPage) وتدرج FPDF_PAGEOBJECT واحدًا يشير إلى ذلك XObject في الصفحة الحالية من هذا المستند. وكل استدعاء يدرج كائن صفحة جديدًا، فيمكن ختم XObject نفسه مرات عدة عبر صفحات متعددة من الهدف — وكل ختم يشارك ذاكرة محتوى الصفحة الأساسية المؤقتة، وهو ما يبقي حجم الملف منخفضًا حتى عندما تكون العلامة المائية / القالب مزدحمة.

يتيح مقبض FPDF_PAGEOBJECT المُعاد للمستدعي استدعاء FPDFPageObj_SetMatrix أو مساعدات TPdfMatrix لموضعة / قياس / تدوير الختم في أي مكان على الصفحة. دون تحويل صريح تقع الصفحة المدرجة عند ركن أسفل اليسار بمقياس 1:1، وهو تقريبًا ليس ما تريده أبدًا؛ عيِّن دائمًا مصفوفة قبل استدعاء UpdatePage.

يعيد nil عند الفشل (XObject هو nil، أو هذا TPdf غير نشط، أو لا توجد صفحة حالية). بعد الإدراج يملك كائن الصفحة الكائن، وليس XObject — وتحرير XObject لا يبطل كائن الصفحة المدرج.

ملاحظات

مثال

uses FPdfMatrix;

var
  PageObj: FPDF_PAGEOBJECT;
  M: TPdfMatrix;
begin
  Pdf1.PageNumber := 3;
  PageObj := Pdf1.InsertFormObjectFromXObject(XObj);
  if PageObj <> nil then
  begin
    M := TPdfMatrix.Create;
    try
      M.Translate(100, 200);
      M.Scale(0.5, 0.5);
      M.Rotate(15);
      FPDFPageObj_SetMatrix(PageObj, M.AsMatrix);
    finally
      M.Free;
    end;
    Pdf1.UpdatePage;
  end;
end;

انظر أيضًا

CreateXObjectFromPage, UpdatePage, PageNumber