PDFContentByte的第二页

时间:2012-11-06 15:04:35

标签: itext

我很确定我错过了一些简单的东西,但是因为我已经打破了一段时间,我只想问。

我正在使用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);

1 个答案:

答案 0 :(得分:1)

查看iText in Action,第2版的chapter 6,特别是在第6.4.1小节:连接和拆分PDF文档。

代码清单6.22 ConcatenateStamp.java向您展示了如何从多个其他PDF页面的副本创建PDF;样本实际上还添加了一个新的“Page X of Y”页脚,您可以将其保留或从样本中删除。