1

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
4

1 に答える 1

0

これは iText 7.0.1 で修正されました。

于 2016-09-28T20:07:34.160 に答える