PDFium Component Docs

InsertFormObjectFromXObject Methode

Dieser API-Eintrag behält Bezeichner, Signaturen, Codeblöcke und PDF-Begriffe in ihrer Originalform.
Komponente: TPdf  ·  Unit: PDFium
Fügt EINE Kopie der von einem TPdfXObject verpackten Seite in die aktuelle Seite dieses Dokuments ein und gibt das FPDF_PAGEOBJECT zurück, damit der Aufrufer es positionieren / skalieren / drehen kann

Syntax

function InsertFormObjectFromXObject(XObject: TPdfXObject): FPDF_PAGEOBJECT;

Beschreibung

InsertFormObjectFromXObject ist die zweite Hälfte der v1.25.0-API zur Wiederverwendung von Form-XObjects. Sie nimmt einen TPdfXObject-Handle (erzeugt durch CreateXObjectFromPage) entgegen und fügt EINE FPDF_PAGEOBJECT ein, die auf dieses XObject verweist, und zwar in die AKTUELLE Seite dieses Dokuments. Jeder Aufruf fügt ein neues Seitenobjekt ein, sodass dasselbe XObject mehrfach über mehrere Zielseiten gestempelt werden kann — jeder Stempel teilt sich den zugrunde liegenden Seitentext-Cache, was die Dateigröße auch bei stark genutztem Wasserzeichen / Template klein hält

Der zurückgegebene FPDF_PAGEOBJECT-Handle erlaubt es dem Aufrufer, mit FPDFPageObj_SetMatrix oder den TPdfMatrix-Hilfen den Stempel auf der Seite zu positionieren / skalieren / drehen. Ohne explizite Transformation liegt die eingefügte Seite unten links bei 1:1-Skalierung, was fast nie erwünscht ist; setzen Sie vor UpdatePage immer eine Matrix

Gibt bei Fehlern nil zurück (XObject ist nil, dieses TPdf ist nicht Active, keine aktuelle Seite). Nach dem Einfügen gehört das Seitenobjekt der Seite und nicht dem XObject — das Freigeben des XObject macht das eingefügte Seitenobjekt nicht ungültig

Hinweise

Beispiel

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;

Siehe auch

CreateXObjectFromPage, UpdatePage, PageNumber