【发布时间】:2015-03-31 15:09:42
【问题描述】:
我正在为同一个客户创建各种各样的可变数据语句 (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();
}
【问题讨论】:
标签: c# pdf itextsharp