我很确定我错过了一些简单的东西,但是因为我已经打破了一段时间,我只想问。
我正在使用JavaScript访问iText(Java)库以获取一个简单的PDF并通过浏览器提供它。这个过程适用于我的第一个,现在我正在做一个原始的可填写PDF有2页。我一直在努力争取第二页。我正在使用PdfContentByte将它带到浏览器,它可以工作,除了我似乎无法让PdfContentByte有第二页。我的相关代码如下。当我按照他的方式添加第二个模板(第2页)时,它会移动我正在编写的内容,但我仍然只是获得一个(美国字母)页面。
这可能不是最有效的代码,但就像我说的那样,我一直在尝试这方面的一些事情。如果有人有指针,我将非常感激。
var cb:com.itextpdf.text.pdf.PdfContentByte = writer.getDirectContent();
var cb2:com.itextpdf.text.pdf.PdfContentByte = writer.getDirectContent();
var reader2:com.itextpdf.text.pdf.PdfReader = new com.itextpdf.text.pdf.PdfReader(os.toByteArray());
var page:com.itextpdf.text.pdf.PdfImportedPage = writer.getImportedPage(reader2, 1);
cb.addTemplate(page, 0, 0); //this works as expected
var page2:com.itextpdf.text.pdf.PdfImportedPage = writer.getImportedPage(reader2, 2);
// this will add, and with the 100 do an offset, but the
// "physical size" of the paper is the same
cb2.addTemplate(page2, 0, 100);
答案 0 :(得分:1)
查看iText in Action,第2版的chapter 6,特别是在第6.4.1小节:连接和拆分PDF文档。
代码清单6.22 ConcatenateStamp.java向您展示了如何从多个其他PDF页面的副本创建PDF;样本实际上还添加了一个新的“Page X of Y”页脚,您可以将其保留或从样本中删除。