function InsertFormObjectFromXObject(XObject: TPdfXObject): FPDF_PAGEOBJECT;
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
PageNumber'ı ile belirlenir. Önce PageNumber'ı ayarlayın, sonra InsertFormObjectFromXObject'i çağırınUpdatePage after positioning the stamp so PDFium re-renders the page content stream.
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;