PDFium Delphi Component Docs

InsertFormObjectFromXObject Método

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

Syntax

function InsertFormObjectFromXObject(XObject: TPdfXObject): FPDF_PAGEOBJECT;

Description

InsertFormObjectFromXObject es la segunda mitad de la API de reutilización de Form XObject de la 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 objeto de página nuevo, así que el mismo XObject puede estamparse múltiples veces en múltiples páginas del destino — cada estampa comparte la caché subyacente de contenido de página, lo que mantiene pequeño el tamaño del archivo incluso cuando la marca de agua / plantilla es compleja

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

Devuelve nil en caso de fallo (XObject es nil, este TPdf no está Active, no hay página actual). Tras la inserción, el objeto de página pertenece a la página, no al 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