load(file)不是一个方法(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));

这只是代码的一部分,但这是问题所在。错误为:The method load(File) is undefined for the type PDDocument


我从JavaTPoint学会了使用PDFBox。我已经按照正确的说明安装了PDFBox库并将它们添加到构建路径中。我的PDFBox版本是3.0.0我还搜索了源文件及其方法,但在那里找不到加载方法。

提前谢谢。

根据3.0迁移指南,PDDocument.load方法已替换为Loader方法:

为了加载PDF PDDocument.load已被Loader替换方法。加载FDF文档也是如此。

保存PDF时,现在将根据违约要覆盖,请使用PDDocument.save压缩机参数。NO_压缩。

PDFBox现在以增量方式加载PDF文档,减少初始内存占用。这也将减少消耗PDF,如果只访问PDF的某些部分。请注意,由于PDF的性质,例如在所有页面上迭代、访问注释、签署PDF等可能仍然会加载PDF的所有部分超时导致与PDFBox 2.0类似的内存消耗。

输入文件不得用作保存操作的输出。它将损坏文件并引发异常,因为文件的某些部分保存时第一次读取。

因此,您可以切换到早期的2.x版本的PDFBox,或者需要使用新的Loader方法。我认为这应该有效:

File file = new File("C:\Meeting IDs.pdf");
PDDocument doc1 = Loader.loadPDF(file);

最新更新