PDFium Component Docs

InsertFormObjectFromXObject Metoda

Ten wpis API zachowuje identyfikatory, sygnatury, bloki kodu i terminy PDF w oryginalnej postaci.
Komponent: TPdf  ·  Moduł: PDFium
Wstawia JEDNĄ kopię strony opakowanej w TPdfXObject na bieżącą stronę tego dokumentu, zwracając FPDF_PAGEOBJECT, aby wywołujący mógł ją pozycjonować / skalować / obracać

Składnia

function InsertFormObjectFromXObject(XObject: TPdfXObject): FPDF_PAGEOBJECT;

Opis

InsertFormObjectFromXObject to druga połowa API ponownego użycia Form XObject w wersji v1.25.0 Przyjmuje uchwyt TPdfXObject utworzony przez CreateXObjectFromPage i wstawia JEDEN FPDF_PAGEOBJECT, który odwołuje się do tego XObjectu, na BIEŻĄCĄ stronę tego dokumentu Każde wywołanie wstawia nowy obiekt strony, więc ten sam XObject może zostać użyty wielokrotnie na wielu stronach docelowych — każde umieszczenie współdzieli bazową pamięć podręczną zawartości strony, co utrzymuje rozmiar pliku nisko nawet wtedy, gdy znak wodny / szablon jest złożony

Zwrócony uchwyt FPDF_PAGEOBJECT pozwala wywołującemu użyć FPDFPageObj_SetMatrix albo pomocniczych funkcji TPdfMatrix, aby pozycjonować / skalować / obracać znacznik w dowolnym miejscu strony Bez jawnej transformacji wstawiona strona ląduje w lewym dolnym rogu w skali 1:1, co prawie nigdy nie jest pożądane; przed wywołaniem UpdatePage zawsze ustaw macierz

Zwraca nil w razie niepowodzenia (XObject ma wartość nil, ten TPdf nie jest aktywny, brak bieżącej strony) Po wstawieniu obiekt strony jest własnością strony, a nie XObjectu — zwolnienie XObjectu nie unieważnia wstawionego obiektu strony

Uwagi

Przykład

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;

Zobacz też

CreateXObjectFromPage, UpdatePage, PageNumber