我正在为同一个客户端创建各种各样的变量数据语句(超过90个)。每个工作日我们将打印每条报表1万张左右。有些陈述在页面的左上角有一个特定的徽标,而另一些则故意忽略了这一点。一些语句的底部附近有图像和/或文本,其他语句则有意没有。这些和其他许多语句一起在每个语句中添加/省略。
我不确定是否可以,但是是否可以将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();
}
是的,可以将不同的PDF彼此叠加。
看一下“图层”示例。我们有一个包含4个页面的文件:layers_orig.pdf,然后将这4个页面添加到单个页面:layers.pdf。
好吧,不完全是您添加它们的方式,但是您描述的内容称为叠加,而“文具”示例或多或少地执行了您要问的事情。
我们创建了一个PDF,但是在创建它时,我们添加了一些公司信纸。这是文具:stationery.pdf。这是最终结果:text_on_stationery.pdf。
您可以在此过程中添加任意数量的信纸模板。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句