0

目前,我每天都会将大量文档(.doc、.docx、.odt、pdf)上传到我的网站,这些文档存储在 sql 数据库(mediumblob)中。

目前,我从数据库中打开文档并将文本版本剪切并粘贴到数据库中的字段中,以便快速参考和搜索功能。

我正在寻找自动化这个“剪切和粘贴”过程 - 只要我可以提取文本,格式就不是一个真正的问题 - 并且希望有些人能够提出一条好的路线?

我尝试使用正则表达式来操作 blob 字段的内容,但它并没有真正起作用。

我一直在研究 Apache POI,以便在上传时提取文本,但考虑到我相对简单的需求,我不禁认为这可能有点矫枉过正。

鉴于我遇到的各种文档格式以及当前将内容存储在 blob 字段中,Apache POI 是否是在这种情况下使用的最佳解决方案,或者有人可以提出替代方案吗?

非常感谢您的帮助和建议。

克里斯

4

1 回答 1

0

Apache POI仅适用于 Microsoft Office 格式(.xls、.docx、.msg 等)。对于这些格式,它提供了用于处理文件的类(总是读取,也支持许多写入),以及文本提取器。

对于通用文本提取框架,您应该查看Apache Tika。Tika 在内部使用 POI 来处理 Microsoft 格式,并使用许多其他库来处理不同的格式。例如,Tika 将同时处理 PDF 和 ODF/ODT,这是您在问题中提到的另外两种文件格式。

Apache Tika 网站上有一些快速入门教程和示例,我建议您浏览一下。它上手非常快,您应该能够轻松更改代码以在上传期间通过 Tika 发送文档以获得纯文本版本,或事件 XHTML(如果这对您更有帮助)。

于 2012-04-20T09:36:29.323 回答