[英]How to add image background to pdf for every page?
我正在嘗試將背景設置為pdf並設法將其設置為帶有圖像的圖像,但我的pdf具有較大的表格,因此不會使用Document.NewPage()
方法自動添加頁面,因此僅在第一個圖像上設置了背景頁。 這是添加背景的代碼:
Image backImg = Image.GetInstance(@"D:\websites\DIS\bugs\130208\A4.png");
backImg.SetAbsolutePosition(0, 0);
backImg.Alignment = Image.UNDERLYING;
var doc = new Document(pageSize);
PdfWriter pdfWriter = PdfWriter.GetInstance(doc, new FileStream(filePath, FileMode.Create));
doc.Open();
doc.Add(backImg);
...
creating a big table
而不使用doc.NewPage()
方法。 在關閉文檔之前,我是否必須循環拋出每一頁並在最后添加背景圖片,但是如何將其放在背景中而不放在其他元素之上?
每當您想對每個頁面應用某些內容時,都應該使用頁面事件,尤其是PdfPageEvent.onEndPage(),
來執行此操作。 您可以通過關鍵字Page events> onEndPage找到有關其用法的示例 -這些示例來自iText in Action 2nd Edition 。 這些示例主要在您要添加背景圖形的同時添加頁腳和頁眉。
請注意,您不應在此處將內容添加到Document
實例,而應直接在PdfWriter,
添加內容PdfWriter,
並且由於您希望圖像位於頁面內容之下而不是頁面內容之上,因此您將需要使用PdfWriter.getDirectContentUnder()
如樣本Stationery
而不是其他樣本中的PdfWriter.getDirectContent()
。
PPS:示例ImageDirect.java / ImageDirect.cs顯示了如何將圖像添加到某些直接內容中,這可能是此處缺少的信息。
去做
PdfPageEvent.onStartPage()
。 在這種情況下,編寫代碼以插入圖像(執行操作時)。 它的作用是,一旦創建了新頁面,它將在其中添加圖像,然后在其上添加內容; 產生水印效果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.