Q:
How do I add an image to an existing page as a background layer? I use
C++ (C# is fine as well).
-----
A:
the simplest approach is as follows:
void AddLogoToEachPage(string origPDFLocation, string fileName, string
eBookPath, string logoPath)
{
PDFNet.Initialize();
PDFNet.SetResourcesPath(".\\PDFNet\\resources\\resources");
PDFDoc doc("d:/life.pdf");
Page page;
doc.InitSecurityHandler();
int pages = doc.GetPagesCount();
ElementWriter writer;
ElementReader reader;
ElementBuilder eb;
Element* element;
for (int i = 1; i <= pages; ++i) {
PageIterator itr = doc.PageFind(i);
if (itr != doc.PageEnd()) {
page = *itr;
writer.Begin(page, true, false);
Image img = Image::Create(doc, logoPath.c_str());
element = eb.CreateImage(img, Common::Matrix2D(100, 0, 0, 50,
20, 50));
writer.WritePlacedElement(element);
writer.End();
}
}
doc.Save("d:/out.pdf", Doc::e_remove_unused, 0);
}