【问题标题】:Text extraction from PDF using PDFBox 2.0.2 missing class PDFTextStripper()使用 PDFBox 2.0.2 缺少类 PDFTextStripper() 从 PDF 中提取文本
【发布时间】:2016-12-06 07:44:55
【问题描述】:

我在 java 中使用 PDFBox 1.8.10 实现了简单的文本提取方法。由于某些原因,我必须将库升级到 PDFBox 2.0.2。可能 PDFTextStripper() 方法已被删除或位于新版本中的另一个包。有没有办法解决这个问题?或者您能建议另一种从 PDF 中获取文本的方法吗?

这是我的代码:

public String extractTextFromPdf() {
     File jInputFile = new File("c:/lorem/ipsum.pdf");
     PDDocument PDDoc = PDDocument.load(jInputFile ); 
     String strContent = new PDFTextStripper().getText(PDDoc);
     PDDoc.close();
     return strContent;
}

提前致谢。

【问题讨论】:

  • 您使用的是什么 IDE?在 Netbeans 中,按 Ctrl-Shift-I,导入将自动修复。在 Eclipse 中,按 Ctrl-Shift-O。
  • @TilmanHausherr 谢谢老兄。我正在使用日食。重启后就解决了。我认为这是一个暂时的错误。 PDFBox 将 PDFTextStripper 类从 'org.apache.pdfbox.util' 移至 'org.apache.pdfbox.text' 包。什么发展...
  • 很高兴它有效。请删除您的问题,因为这是相当琐碎的事情。或者自己回答。

标签: java pdf pdfbox text-extraction


【解决方案1】:

试试这个

{
    PDDocument document = null;
    document = PDDocument.load(new File("test.pdf"));
    document.getClass();
    if (!document.isEncrypted()) {
        PDFTextStripperByArea stripper = new PDFTextStripperByArea();
        stripper.setSortByPosition(true);
        PDFTextStripper Tstripper = new PDFTextStripper();
        String st = Tstripper.getText(document);
        System.out.println("Text:" + st);
    }
} catch (Exception e) {
    e.printStackTrace();
}`

【讨论】:

  • 这不是问题的答案。此外,document.getClass(); 无效。不需要if (!document.isEncrypted())
猜你喜欢
  • 2012-12-30
  • 1970-01-01
  • 2015-11-19
  • 2013-11-15
  • 2014-07-11
  • 2021-01-05
  • 1970-01-01
  • 2012-02-01
  • 1970-01-01
相关资源
最近更新 更多