PDFium Delphi Component Docs

InsertFormObjectFromXObject Yöntem

Component: TPdf  ·  Unit: PDFium
Bir TPdfXObject içine sarılmış sayfanın TEK bir kopyasını bu belgenin geçerli sayfasına ekler ve çağıranın bunu konumlandırabilmesi / ölçekleyebilmesi / döndürebilmesi için FPDF_PAGEOBJECT döndürür

Syntax

function InsertFormObjectFromXObject(XObject: TPdfXObject): FPDF_PAGEOBJECT;

Description

InsertFormObjectFromXObject, v1.25.0 Form XObject yeniden kullanım API'sinin ikinci yarısıdır. Bir TPdfXObject tanıtıcısını (kurulum yeri CreateXObjectFromPage) alır ve o XObject'e referans veren TEK bir FPDF_PAGEOBJECT'i bu dokümanın GEÇERLİ sayfasına ekler. Her çağrı yeni bir sayfa nesnesi ekler; dolayısıyla aynı XObject, hedefin birden çok sayfasına birden çok kez damgalanabilir — her damga, altta yatan sayfa-içerik önbelleğini paylaşır; böylece filigran / şablon yoğun olduğunda bile dosya boyutu küçük kalır

Döndürülen FPDF_PAGEOBJECT tanıtıcısı, çağıranın damgayı sayfada istenen yere konumlandırması / ölçeklemesi / döndürmesi için FPDFPageObj_SetMatrix'i veya TPdfMatrix yardımcılarını çağırmasına izin verir. Açık bir dönüşüm olmadan eklenen sayfa, 1:1 ölçekte sol alt köşeye oturur; bu neredeyse hiçbir zaman istediğiniz şey değildir; UpdatePage'i çağırmadan önce daima bir matris atayın

Başarısızlıkta nil döndürür (XObject nil, bu TPdf etkin değil, geçerli sayfa yok). Eklentiden sonra sayfa nesnesinin sahibi XObject değil sayfadır — XObject'i serbest bırakmak, eklenen sayfa nesnesini geçersizleştirmez

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