Oja*_*kar 6 java eclipse pdf pdfbox
我想制作一个简单的程序,通过Java从pdf文件中获取文本内容。这是代码:
PDFTextStripper ts = new PDFTextStripper();
File file = new File("C:\\Meeting IDs.pdf");
PDDocument doc1 = PDDocument.load(file);
String allText = ts.getText(doc1);
String gradeText = allText.substring(allText.indexOf("GRADE 10B"), allText.indexOf("GRADE 10C"));
System.out.println("Meeting ID for English: "
+ gradeText.substring(gradeText.indexOf("English") + 7, gradeText.indexOf("English") + 20));
Run Code Online (Sandbox Code Playgroud)
这只是代码的一部分,但这是有问题的部分。错误是:The method load(File) is undefined for the type PDDocument
我从 JavaTPoint 学会了使用 PDFBox。我已按照正确的说明安装 PDFBox 库并将其添加到构建路径。我的PDFBox版本是3.0.0 我也搜索了源文件及其方法,但找不到那里的加载方法。
先感谢您。
sor*_*end 22
根据3.0 迁移指南,该PDDocument.load
方法已替换为以下Loader
方法:
对于加载 PDF,PDDocument.load 已替换为 Loader 方法。加载 FDF 文档也是如此。
保存 PDF 时,现在默认以压缩模式完成。要覆盖它,请使用 PDDocument.save 和 CompressParameters.NO_COMPRESSION。
PDFBox 现在加载 PDF 文档,逐渐减少初始内存占用。如果仅访问 PDF 的某些部分,这也将减少消耗 PDF 所需的内存。请注意,由于 PDF 的性质,迭代所有页面、访问注释、签署 PDF 等用途可能仍会超时加载 PDF 的所有部分,从而导致与 PDFBox 2.0 类似的内存消耗。
输入文件不得用作保存操作的输出。当保存文件时第一次读取文件的部分内容时,它会损坏文件并引发异常。
因此,您可以切换到 PDFBox 的早期 2.x 版本,或者需要使用新Loader
方法。我相信这应该有效:
File file = new File("C:\\Meeting IDs.pdf");
PDDocument doc1 = Loader.loadPDF(file);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
27497 次 |
最近记录: |