【发布时间】:2014-02-26 11:05:19
【问题描述】:
我需要从大文件中提取文本(最大限制为 50MB) 文件可能是 doc、ppt、xls、txt 或 pdf 格式。到目前为止,我使用了 Apache POI 'http://poi.apache.org/'
用于 Microsoft Office 文档和 PDFBox 从 PDF 中提取文本。但是,随着文件变大,特别是以下文件,提取过程会变慢。 到目前为止我取得的成果:
1.PPTX - 45MB - 大约 3 分钟
2.PDF - 62MB - 2 分钟左右
3.Docx - 32MB - 15 秒左右
4.XLS - 17MB - 10 秒左右
5.XLSX - 7MB - 大约 20 秒
我需要这个过程很快。我可以使用哪些 API 来实现这一点,哪些最佳实践可以帮助我提高应用程序的性能?
【问题讨论】:
-
读取 60 MB 的 .txt 文件需要多长时间?
-
由于 PDF 是一种仅在页面中的自定义位置绘制字母组的格式,因此在获取文本之前,必须找到、排序并粘合所有这些字母组。这可能需要一些时间......不过,取决于所使用的 PDF 库,当然有更快和更慢的解决方案......
-
我正在寻找比 2 分钟更快的 62MB 文件。
标签: java excel apache-poi pdfbox text-extraction