PDFium Delphi Component Docs

StampPagesFromPdf metódus

Komponens: TPdf  ·  Egység: PDFium
Egy másik TPdf oldalát pozicionált, skálázott, opcionálisan forgatott Form XObject fedvényként vagy aláfedésként helyezi el egy vagy több céloldalon

Syntax

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

Description

A StampPagesFromPdf a magas szintű fedvény-, aláfedés- és vízjel-összeállító. Egy forrásoldalból Form XObjectet gyárt FPDF_NewXObjectFromPage útján, majd ennek az XObjectnek egy pozicionált, skálázott, opcionálisan forgatott példányát helyezi el minden kért céloldalon. Az elhelyezést, a skálázást, a forgatást, a keverési módot és a z-sorrendet a TPdfOverlayOptions rekord vezérli (Placement, X, Y, Scale, Rotation, Margin, UseCropBox, ZUnderlay és BlendMode); a TPdfOverlayReport out paraméter rögzíti a StampedPageCount, FailedPageCount, SkippedPageCount, SourcePageWidth, SourcePageHeight, Succeeded és ErrorMessage értékeket

Belsőleg minden bélyegzés a FPDF_NewFormObjectFromXObject, FPDFPageObj_SetMatrix, FPDFPageObj_SetBlendMode, valamint a FPDFPage_InsertObject (fedvény) vagy a 0 veremindexű FPDFPage_InsertObjectAtIndex (aláfedés) kombinációja. Az elhelyezési mátrix a PageWidth/PageHeight és a beállításmezők alapján épül fel, így minden horgony, margó, skálázás és forgatás egyetlen transzformációra képeződik le, amelyet a PDFium a beszúrt formaobjektumra alkalmaz

A forrásnak és a célnak egyaránt Active állapotúnak kell lennie. A forrás lehet külön TPdf példány, vagy akár maga EZ a dokumentum is (önbélyegzés): a hívó aktuális PageNumber értéke mindkét dokumentumra vonatkozóan mentésre kerül, és a hívás végén visszaállításra kerül

Parameters

Remarks

Example

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;

See Also

CreateXObjectFromPage, InsertFormObjectFromXObject, TransformPageObject, ImportPagesByIndex