iText 5.5迁移至iText 8后部分PDF表单字段无法提取问题咨询
iText 5.5迁移至iText 8后的表单字段提取问题
- 从iText 5.5版本迁移到iText 8版本后,出现部分PDF表单字段无法提取的问题:旧版iText 5.5代码可正常提取这些字段,但新版iText 8代码提取失败,尝试Apache PDFBox也得到相同结果。
- 问题仅出现在1-2个特定PDF文件中,同标签下的其他PDF可正常提取字段。
- 原始模板PDF能正常提取字段,但预填充后的版本无法提取。
- 怀疑是PDF文件损坏或字段结构被破坏,但无法提供保密的PDF文件,希望实现与iText 5.5版本一致的提取效果。
新旧代码对比
新版iText 8代码
PdfAcroForm pdfAcroForm = PdfAcroForm.getAcroForm(pdfDocument, true); // 或者 PdfAcroForm pdfAcroForm = PdfFormCreator.getAcroForm(pdfDocument, true); Map<String, PdfFormField> formFieldMap = pdfAcroForm.getAllFormFields();
旧版iText 5.5代码
reader = new com.itextpdf.text.pdf.PdfReader(docdByteArray); PdfStamper stamper = new PdfStamper(reader, baos); AcroFields acroFields = stamper.getAcroFields();
内容的提问来源于stack exchange,提问作者Rajendra Desale
相关产品推荐
相关产品推荐

