如何使用java从pdf文件中获取原始文本

新手上路,请多包涵

我有一些 pdf 文件,使用 pdfbox 我已将它们转换为文本并存储到文本文件中,现在我想从文本文件中删除

  1. 超级链接
  2. 所有特殊字符
  3. 空行
  4. pdf 文件的页眉页脚
  5. “1)”、“2)”、“a)”、“子弹”等。

我想像这样逐行获取有效文本:

我们提出了 OntoGain,一种从纯文本中提取的多词概念术语进行本体学习的方法。 OntoGain 遵循由不同处理层定义的本体学习过程。在普通术语提取的基础上,通过对提取的概念进行聚类来形成概念层次结构。然后用非分类关系丰富派生的术语分类法。已经检查了几种不同的最先进的方法来实现每一层。 OntoGain 基于多词术语概念,因为多词或复合词比普通的单词术语具有更坚实和独特的语义。我们选择了层次聚类方法和形式概念分析 (FCA) 算法来构建术语分类法。此外,应用关联规则算法来揭示非分类关系。还实现了一种尝试在关系的概念之间执行最合适的泛化级别的方法。为了证明概念,实现了一个系统原型。 OntoGain 允许使用 Jena Semantic Web Frame-work1 将派生本体转换为 OWL。 OntoGain 应用于医学和计算机语料库这两个独立的数据源,并将其结果与 Text2Onto 获得的类似结果进行比较,Text2Onto 是一种最先进的本体学习方法。 11.5 CCD1.1结果分析表明,OntoGain在精度方面比Text2Onto表现更好,提取了更多正确的概念,而更具选择性提取了更少但更合理的概念。

我怎样才能做到这一点?

原文由 user2609542 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 690
1 个回答

使用 pdfbox 我们可以实现这个

例子 :

 public static void main(String args[]) {

    PDFParser parser = null;
    PDDocument pdDoc = null;
    COSDocument cosDoc = null;
    PDFTextStripper pdfStripper;

    String parsedText;
    String fileName = "E:\\Files\\Small Files\\PDF\\JDBC.pdf";
    File file = new File(fileName);
    try {
        parser = new PDFParser(new FileInputStream(file));
        parser.parse();
        cosDoc = parser.getDocument();
        pdfStripper = new PDFTextStripper();
        pdDoc = new PDDocument(cosDoc);
        parsedText = pdfStripper.getText(pdDoc);
        System.out.println(parsedText.replaceAll("[^A-Za-z0-9. ]+", ""));
    } catch (Exception e) {
        e.printStackTrace();
        try {
            if (cosDoc != null)
                cosDoc.close();
            if (pdDoc != null)
                pdDoc.close();
        } catch (Exception e1) {
            e1.printStackTrace();
        }

    }
}

原文由 SANN3 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题