PDFium Delphi Component Docs

InsertFormObjectFromXObject Método

Componente: TPdf  ·  Unidad: PDFium
Inserta UNA copia de la página envuelta por un TPdfXObject en la página actual de este documento y devuelve el FPDF_PAGEOBJECT para que el llamador pueda posicionarlo, escalarlo o girarlo

Syntax

function InsertFormObjectFromXObject(XObject: TPdfXObject): FPDF_PAGEOBJECT;

Description

InsertFormObjectFromXObject es la segunda mitad de la API de reutilización de XObject de formulario de v1.25.0. Toma un manejador TPdfXObject (construido por CreateXObjectFromPage) e inserta UN FPDF_PAGEOBJECT que referencia ese XObject en la página ACTUAL de ESTE documento. Cada llamada inserta un nuevo objeto de página, de modo que el mismo XObject se puede estampar varias veces en varias páginas del destino — cada estampa comparte la caché de contenido de página subyacente, lo que mantiene el tamaño del archivo bajo incluso cuando la marca de agua / plantilla está ocupada

El manejador FPDF_PAGEOBJECT devuelto permite al llamador invocar FPDFPageObj_SetMatrix o los ayudantes TPdfMatrix para posicionar / escalar / rotar la estampa en cualquier lugar de la página. Sin una transformación explícita, la página insertada se sitúa en la esquina inferior izquierda a escala 1:1, lo que casi nunca es lo que se quiere; establezca siempre una matriz antes de llamar a UpdatePage

Devuelve nil en caso de fallo (XObject nulo, este TPdf no Active, sin página actual). Tras la inserción, el objeto de página es propiedad de la página, no del XObject — liberar el XObject no invalida el objeto de página insertado

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