iText 7.0.0
我不确定它是否是LiveCycle / XFA的功能或我们的表单团队采用的约定,但很多表单字段限定名称最终看起来像:
form[0].someForm_page1[0].table1[0].row1[0].cell1[0].Text[0]
form[0].someForm_page1[0].table1[0].row1[0].cell1[0].Text[1]
合并时(PdfDocument.copyTo ...包括PdfPageFormCopier)只复制页面&Widgets的直接父级(虽然我上面提到过XFA,但非混合形式也会出现这种情况)。
PdfDocument src = createForRead("someForm.pdf");
PdfDocument merged = createForWrite("merged.pdf");
src.copyPagesTo(1, src.getNumberOfPages(), merged, new PdfPageFormCopier());
merged.close();
src.close();
会产生类似于
的字段 cell1[0].Text[0]
cell1[0].Text[1]
或更糟,对于像这样的案例
page1.section1.Text1
page2.section1.Text1
未构建完整层次结构可能会导致唯一字段变为非唯一
section1.Text1
section1.Text1
在SmartMode中,事情看起来有点糟糕(这个似乎在7.0.1-20162707中修复了!)
page1.Text1
page2.Text1
合并到
page1.Text1
page1.Text1
答案 0 :(得分:0)
这已在iText 7.0.1中修复