当前位置: 首页 > 知识库问答 >
问题:

用Java从Office和PDF文件中提取文本

公冶峰
2023-03-14

我有一个列表。pdf,ppt,pptx,xls,xlsx,doc和。docx文件列表 ,现在想在这些文件中查找电子邮件地址。我的问题是如何从这些文件中智能地提取计划文本。目前我正在使用Apache POI,我对每种类型的文件都有一个单一的方法,是否有一个更短、更优雅的位置来做这件事?也许还可以处理。ODT、.ODP、.ODS文件?如何从。pdf,ppt,pptx,xls,xlsx,doc和.docx文件中获取te计划文本到字符串中?

共有1个答案

沈永新
2023-03-14

如果Apache库可以将文件转换为文本,则可以在结果文本中执行regex搜索。如果您可以使用其他Java库,那么您可以直接在原始文档中搜索,或者至少先将它们转换为纯文本。

我工作的公司有几个库用于其中两种格式。使用Gnostice XtremeDocumentStudio(for Java)库,可以将PDF和DOCX文件转换为纯文本。

DocumentConverter dc = new DocumentConverter();
dc.convertToFile("sample.pdf", "sample-pdf.txt");
dc.convertToFile("sample.docx", "sample-docx.txt");

使用Gnostice PDFOne(for Java)库,您可以使用regex(另一个regex,一个为电子邮件地址创建的regex,上面给出了链接)直接在PDF中执行搜索。这个库只适用于PDF文件。

PdfDocument doc = new PdfDocument();
doc.load("Input_Docs\\input_doc.pdf");

// Obtain all website addresses in page 2
ArrayList lstSearchResults =
   (ArrayList) doc.search("http://{1}",  // regular expression
                          2, // page number
                          PdfSearchMode.REGEX,
                          PdfSearchOptions.NONE);
 类似资料:
  • 问题内容: 我正在尝试使用提取此 PDF文件中包含的文本。 我正在使用PyPDF2模块,并具有以下脚本: 运行代码时,得到以下输出,该输出与PDF文档中包含的输出不同: 如何提取PDF文档中的文本? 问题答案: 要从PDF提取文本,请使用以下代码

  • 问题内容: 我需要使用iText从pdf文件中提取文本。 问题是:一些pdf文件包含2列,当我提取文本时,我得到一个文本文件,其中的列作为结果合并(即同一行中两列的文本) 这是代码: 你能帮我完成这个任务吗? 问题答案: 我是iText文本提取子系统的作者。您需要做的是开发自己的文本提取策略(如果您看一下如何实现的话,就会发现您可以提供可插拔的策略)。 您将如何确定列的开始和停止位置完全取决于您-

  • 问题内容: 我正在寻找有关如何使用带有Python的PDFMiner从PDF文件提取文本的文档 或 示例。 看来PDFMiner更新了他们的API,我发现的所有相关示例都包含过时的代码(类和方法已更改)。我发现的那些使从PDF文件提取文本的任务更加容易的库正在使用旧的PDFMiner语法,因此我不确定如何执行此操作。 照原样,我只是在查看源代码,以查看是否可以解决。 问题答案: 这是一个使用当前版

  • 问题内容: 我想使用PDFMiner从PDF文件中提取所有文本框和文本框坐标。 其他许多Stack Overflow帖子都介绍了如何以有序方式提取所有文本,但是我该如何做获取文本和文本位置的中间步骤呢? 给定一个PDF文件,输出应类似于: 问题答案: 换行符在最终输出中转换为下划线。这是我发现的最小工作解决方案。

  • 问题内容: 我想知道是否可以仅使用Javascript将文本包含在PDF文件中?如果是,谁能告诉我如何? 我知道有一些服务器端的Java,C#等库,但我宁愿不使用服务器。谢谢 问题答案: 这是一个古老的问题,但是由于pdf.js多年来一直在发展,所以我想给出一个新的答案。也就是说,它可以在本地完成,而无需涉及任何服务器或外部服务。新的pdf.js具有一个函数:page.getTextContent

  • 问题内容: 如何 使用PHP 从PDF文档中提取文本? (我不能使用其他工具,我没有root用户访问权限) 我发现一些函数可用于纯文本,但是它们不能很好地处理Unicode字符: http://www.hashbangcode.com/blog/zend-lucene-and-pdf-documents-part-2-pdf- data-extraction-437.html 问题答案: 下载 c