我需要一种在Linux中从所有MS Office文档类型(Word,Excel,Powerpoint)中提取文本的方法。我设想可能会有几种不同的方法来完成此任务,例如Bash或Python脚本,或者将它们转换为PDF,然后使用诸如pdftotext之类的工具提取文本。
看来这可能是司空见惯的要求。是否有既定的程序或工具可以轻松完成此任务?
我需要一种在Linux中从所有MS Office文档类型(Word,Excel,Powerpoint)中提取文本的方法。我设想可能会有几种不同的方法来完成此任务,例如Bash或Python脚本,或者将它们转换为PDF,然后使用诸如pdftotext之类的工具提取文本。
看来这可能是司空见惯的要求。是否有既定的程序或工具可以轻松完成此任务?
Answers:
Catdoc可以将doc,xls和ppt转换为文本。第二个选择是wvWare。
有关更多实用程序,请检查http://www.linux.com/archive/articles/52385,以获取文字转文本的掩护和
我终于找到了用于脚本化文档分析的完美工具,它是apache-tika,它可以将大量的非文本格式解析为非常酷的文本!
在此处获取Apache Tika:
(苹果机用户家酿:brew install tika
)
命令行界面的工作方式如下:
tika --text something.docx > something.txt
从Word转换为纯文本:
abiword --to=txt myfile.doc
从Word文件制作pdf:
abiword --to=pdf myfile.doc
等等。在这些情况下,结果将是myfile.txt或myfile.pdf。如果要指定输出名称,也可以执行以下操作:
abiword --to=txt --to-name=output.txt myfile.doc
将ODT转换为Word:
abiword --to=doc myfile.odt
将Word转换为ODT:
abiword --to=odt myfile.doc
为公平起见,应该注意AbiWord使用wvWare来处理Word文档,但是即使wvWare主页也建议在大多数转换中使用AbiWord。
我讨厌文字处理程序。这是我安装了AbiWord的主要原因。
您可能还对unoconv感兴趣,它是OpenOffice已知的支持格式的类似工具(其中包括电子表格等),但是我个人没有经验。
使用LibreOffice,您可以执行以下操作:
libreoffice --invisible --convert-to pdf file1.ppt file2.ppt
Docsplit是从pdf提取文本的理想工具。这是红宝石。因此,在使用docsplit命令之前,您应该在Linux系统中安装ruby和gem。
如果您的系统没有红宝石和宝石,请按照说明进行操作。
您必须是root用户才能安装该软件(假设您希望所有用户都可以使用该软件)。
在Linux上安装ruby:yum install ruby
安装gem,请下载最新的gem软件包,然后按照说明进行操作
tar xzf rubygems-xxxx.tgz
cd rubygems-xxxx
ruby setup.rb
现在已经安装了RubyGems,您应该有了gem命令(gem是用于与RubyGems软件包系统进行交互的命令)。通过运行以下命令进行测试:
宝石清单
现在,转到下一步,要安装docsplit gem,请转到以下站点。 http://documentcloud.github.com/docsplit/