作为你所提到的书的作者,我想指出书中的例子有点过时了.本书将建议您使用PdfCopyFields合并表单,但在最新版本的iText中不推荐使用该类.
请看一下新的例子:
换句话说:现在可以使用PdfCopy类复制/合并表单,但是导入它以告诉PdfCopy需要合并字段,如下面的代码片段所示:
public void createPdf(String filename) throws IOException, DocumentException {
PdfReader[] readers = {
new PdfReader(getFile1()),
new PdfReader(getFile2())
};
createPdf(filename, readers);
}
public void createPdf(String filename, PdfReader[] readers)
throws IOException, DocumentException {
Document document = new Document();
PdfCopy copy = new PdfCopy(document, new FileOutputStream(filename));
copy.setMergeFields();
document.open();
for (PdfReader reader : readers) {
copy.addDocument(reader);
}
document.close();
for (PdfReader reader : readers) {
reader.close();
}
}
setMergeFields()方法是您需要记住的方法.