PDFium Delphi Component Docs

InsertFormObjectFromXObject Méthode

Composant: TPdf  ·  Unit: PDFium
Insère UNE copie de la page encapsulée par un TPdfXObject dans la page courante de ce document, en renvoyant le FPDF_PAGEOBJECT afin que l’appelant puisse la positionner / mettre à l’échelle / faire pivoter

Syntax

function InsertFormObjectFromXObject(XObject: TPdfXObject): FPDF_PAGEOBJECT;

Description

InsertFormObjectFromXObject est la seconde moitié de l’API de réutilisation des Form XObjects de la v1.25.0. Elle prend un handle TPdfXObject (construit par CreateXObjectFromPage) et insère un FPDF_PAGEOBJECT qui référence cet XObject dans la PAGE COURANTE de CE document. Chaque appel insère un nouvel objet de page, de sorte que le même XObject peut être tamponné plusieurs fois sur plusieurs pages de la destination — chaque tampon partage le cache de contenu de page sous-jacent, ce qui réduit la taille du fichier même lorsque le filigrane / modèle est chargé

Le handle FPDF_PAGEOBJECT renvoyé permet à l’appelant d’appeler FPDFPageObj_SetMatrix ou les aides TPdfMatrix pour positionner / mettre à l’échelle / faire pivoter le tampon n’importe où sur la page. Sans transformation explicite, la page insérée se trouve dans le coin inférieur gauche à l’échelle 1:1, ce qui n’est presque jamais ce que vous voulez ; définissez toujours une matrice avant d’appeler UpdatePage

Returns nil en cas d’échec (XObject nil, ce TPdf n’est pas Active, aucune page courante). Après insertion, l’objet page appartient à la page, et non à l’XObject — libérer l’XObject n’invalide pas l’objet page inséré

Remarks

Example

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;

See Also

CreateXObjectFromPage, UpdatePage, PageNumber