【发布时间】:2019-12-23 02:58:57
【问题描述】:
PdfReader reader = new PdfReader("E:\\document\\6imm5562e.pdf");
PdfDocument doc = new PdfDocument(reader);
String textFromPage = PdfTextExtractor.getTextFromPage(doc.getPage(1));
System.out.println(textFromPage);
报错信息如下:
请稍等……
如果此消息最终没有被文档的正确内容替换,您的 PDF 查看器可能无法显示此类文档。
您可以通过访问http://www.adobe.com/go/reader_download 升级到适用于 Windows®、Mac 或 Linux® 的 Adobe Reader 的最新版本。
有关 Adobe Reader 的更多帮助,请访问http://www.adobe.com/go/acrreader。
Windows 是 Microsoft Corporation 在美国和/或其他国家/地区的注册商标或商标。 Mac 是商标 苹果公司,在美国和其他国家注册。 Linux 是 Linus Torvalds 在美国和其他国家/地区的注册商标。
【问题讨论】:
-
极有可能是 xfa 表单。纯 xfa 表单 pdf(与混合 xfa/acroform 表单 pdf 相比)通常确实将问题中引用的内容作为实际且仅 pdf 内容。仅作为 xfa 处理器的 pdf 处理器通过渲染 xfa 以显示文件来替换该 pdf 内容
-
你还在 GitHub 上的 iText 7 存储库上打开了一个 Pull Request,但你的 PR 没有包含任何代码更改,你只是将
develop合并到master中。我们将继续关闭您的 Pull Request,因为我们更喜欢使用 Stack Overflow 来获得社区支持。感谢您使用 iText! -
是的,它是 XFA 表单。所以你看到的文字就是真正的文字。如果要将XFA表单转换为文本,则必须使用itext的一些XFA相关方法。
-
您要提取表单上的信息(由某人填写)还是从“静态”PDF 中提取?