我正在爲同一客戶端創建各種各樣的變量數據語句(90+)。我們每個工作日打印10K左右的聲明。一些聲明在頁面的左上角有一個特定的標識,其他標識有意忽略這個。一些陳述在底部附近具有圖像和/或文字,而另一些則沒有。這些以及其他許多內容在每個聲明中都被添加/省略。同一頁上的多個模板
我不確定它是否可行,但是是否可以將PDF層疊在一起?如果是這樣,我想我可以根據每個語句的需要添加'圖層'。然後,生成的「分層」PDF將成爲我的基礎文檔,然後我可以繼續添加數據。
否則我想我需要爲每個潛在的場景創建一個PDF。
(順便說一句,我試圖有條件地添加這些項目的直接圖像,但它會減慢速度了不少。)
編輯 我曾嘗試使用此代碼,但最終輸出只能說明添加了最後一個模板。
string[] templates = new string[]{
pdfTemplate
,thingsTemplate
};
using (FileStream filestream = new FileStream(finalTemplate, FileMode.OpenOrCreate, FileAccess.Write))
using (iTextSharp.text.Document document = new iTextSharp.text.Document(PageSize.LETTER))
using (PdfWriter writer = PdfWriter.GetInstance(document, filestream))
{
document.Open();
PdfContentByte cb = writer.DirectContent;
PdfImportedPage page;
for (int i = 0; i < templates.Length; i++)
{
page = writer.GetImportedPage(new PdfReader(templates[i]), 1);
cb.AddTemplate(page, 1f, 0, 0, 1, 0, 0);
}
document.Close();
}
再次感謝布魯諾! – rcurrydev 2015-03-31 16:35:00
關於爲什麼我沒有得到我想要的結果的任何想法? – rcurrydev 2015-03-31 20:00:08
如果更改添加模板的順序,會發生什麼情況?也許你已經以不透明的方式製作了模板。在這種情況下,你要添加所有的模板,但最後一個模板覆蓋了所有的模板。 – 2015-04-01 05:42:54