PDFium Delphi Component Docs

StampPagesFromPdf الطريقة

المكوّن: TPdf  ·  الوحدة: PDFium
يختم صفحة من TPdf آخر كتراكب أو تسطير Form XObject موضَّع ومحجَّم ودوَّر اختياريًا عبر صفحة هدف واحدة أو أكثر۔

الصياغة

function StampPagesFromPdf(
  Source : TPdf;
  SourcePageIndex : Integer;
  const TargetPages : array of Integer;
  const Options : TPdfOverlayOptions;
  out Report : TPdfOverlayReport): Boolean;

الوصف

StampPagesFromPdf هو مؤلِّف التراكب والتسطير والعلامة المائية عالي المستوى۔ يصنع Form XObject من صفحة مصدر عبر FPDF_NewXObjectFromPage، ثم يضع نسخة واحدة موضَّعة ومحجَّمة ودوَّرة اختياريًا من ذلك XObject في كل صفحة هدف مطلوبة۔ يُضبط الموضع والتحجيم والدوران ووضع المزج وترتيب z عبر سجل TPdfOverlayOptions أي Placement و X و Y و Scale و Rotation و Margin و UseCropBox و ZUnderlay و BlendMode؛ ويسجّل المعامل الخارج TPdfOverlayReport قيم StampedPageCount و FailedPageCount و SkippedPageCount و SourcePageWidth و SourcePageHeight و Succeeded و ErrorMessage

يدمج كل ختم داخليًا بين FPDF_NewFormObjectFromXObject و FPDFPageObj_SetMatrix و FPDFPageObj_SetBlendMode وإما FPDFPage_InsertObject للتراكب أو FPDFPage_InsertObjectAtIndex بفهرس مكدس 0 للتسطير۔ تُبنى مصفوفة الموضع من PageWidth/PageHeight مع حقول الخيارات، فتُسقط كل المراسي والهوامش والتحجيم والدوران على تحويل واحد يطبقه PDFium على كائن النموذج المدرج

يجب أن يكون المصدر والوجهة كلاهما Active۔ قد يكون المصدر نسخة TPdf منفصلة أو حتى هذا المستند نفسه وهو الختم الذاتي؛ إذ يُحفظ PageNumber الحالي للمستدعي على المستندين ويُستعاد عبر الاستدعاء

المعاملات

ملاحظات

مثال

var
  Watermark: TPdf;
  Options: TPdfOverlayOptions;
  Report: TPdfOverlayReport;
begin
  Watermark := TPdf.Create(nil);
  try
    Watermark.FileName := 'C:\Confidential.pdf';
    Watermark.Active := True;
    Options := TPdfOverlayOptions.Default;
    Options.Placement := opCenter;
    Options.Rotation := 45;
    Options.BlendMode := bmMultiply;
    Pdf1.StampPagesFromPdf(Watermark, 0, [], Options, Report);
  finally
    Watermark.Free;
  end;
end;

انظر أيضًا

CreateXObjectFromPage, InsertFormObjectFromXObject, TransformPageObject, ImportPagesByIndex