用Python将PDF、DOC和DOCX转换为文本格式的解决方案

0 投票
4 回答
2629 浏览
提问于 2025-04-16 22:25

我正在开发一个全文搜索引擎,目的是为了对常见的二进制格式进行索引。我知道已经有很多类似的问题(和解决方案),但我发现很难找到一个符合我需求的:

  • 可以在不同平台上使用
  • 同时支持DOC、DOCX和PDF格式
  • 用Python很容易上手
  • 可以在主要的共享主机上设置

4 个回答

0

如果你在服务器端可以使用OpenOffice,那么你可以使用 unoconv:这个工具可以在OpenOffice支持的任何文档格式之间进行转换

0

一个可能的解决办法是使用谷歌文档来提取二进制的.doc文件中的文本内容。你可以把文档上传到谷歌文档,然后再下载文本内容。这个过程比较慢,但这是我知道的唯一一种“纯Python”的解决方案,因为它只需要网络连接,不需要其他外部工具。如果你可以在你的电脑上安装外部工具,比如catdoc或antiword,那它们会是更好的选择。

1
  • 对于PDF文件,我推荐使用PDFminer这个工具。
  • 可以试试docx这个模块(我自己没有用过)。
  • 我不知道有没有纯Python的模块可以读取.doc文件。
  • 有一些命令行工具可以从.doc文件中提取文本,比如antiword和catdoc(可能还有其他工具)。如果你的共享主机上安装了这些工具,你可以用subprocess来调用它们。在Windows上可以通过Cygwin使用。
  • Apache POI是一个Java库,可以从Office文档中提取文本。如果你的共享主机上安装了Java,你可以写一点Java(或者Jython)代码,然后用subprocess来执行。

撰写回答