PDFium Component Docs

InsertFormObjectFromXObject Methode

Deze API-entry behoudt identifiers, signatures, codeblokken en PDF-termen in hun oorspronkelijke vorm.
Component: TPdf  ·  Unit: PDFium
Voegt ÉÉN kopie van de pagina die door een TPdfXObject is verpakt in op de huidige pagina van dit document en geeft de FPDF_PAGEOBJECT terug zodat de caller deze kan positioneren / schalen / roteren

Syntaxis

function InsertFormObjectFromXObject(XObject: TPdfXObject): FPDF_PAGEOBJECT;

Beschrijving

InsertFormObjectFromXObject is de tweede helft van de v1.25.0 Form XObject reuse API. Het neemt een TPdfXObject-handle (gemaakt door CreateXObjectFromPage) en voegt ÉÉN FPDF_PAGEOBJECT in die naar dat XObject verwijst op de HUIDIGE pagina van DIT document. Elke call voegt een nieuw page object in, zodat hetzelfde XObject meerdere keren over meerdere pagina's van de bestemming kan worden gestempeld — elke stamp deelt de onderliggende page-content cache, wat de file size klein houdt, zelfs wanneer de watermark / template druk is

De teruggegeven FPDF_PAGEOBJECT-handle laat de caller FPDFPageObj_SetMatrix of de TPdfMatrix-helpers aanroepen om de stamp overal op de pagina te positioneren / schalen / roteren. Zonder expliciete transform staat de ingevoegde pagina linksonder op 1:1 schaal, wat bijna nooit is wat je wilt; stel altijd een matrix in vóór je UpdatePage aanroept

Geeft nil terug bij falen (XObject is nil, deze TPdf is niet Active, geen huidige pagina). Na invoegen is het page object eigendom van de pagina, niet van het XObject — het freeen van het XObject maakt het ingevoegde page object niet ongeldig

Opmerkingen

Voorbeeld

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;

Zie ook

CreateXObjectFromPage, UpdatePage, PageNumber