我正在用Qt/C++ 编写一些程序,我需要从Microsoft Word/RTF/docx文件中读取文本.
我正在寻找一些可以进行提取的命令行程序.它可能是几个程序.
我发现最接近的是DocToText,但它有几个bug,所以我不能使用它.我还在PC上安装了Microsoft Word.也许有一些方法可以使用它来阅读文本(不知道如何使用COM)?
小智 9
现在,这是非常丑陋和非常hacky,但它似乎适合我的基本文本提取.显然在Qt程序中使用它你必须为它生成一个进程等,但我一起攻击的命令行是:
unzip -p file.docx | grep '<w:t' | sed 's/<[^<]*>//g' | grep -v '^[[:space:]]*$'
Run Code Online (Sandbox Code Playgroud)
所以那是:
unzip -p file.docx:-p =="解压缩为stdout"
grep'<w:t':抓住包含'<w:t'的行(<w:t>是"text"的Word 2007 XML元素,据我所知)
sed's/<[^ <] > // g'*:删除标签内的所有内容
grep -v'^ [[:space:]] $'*:删除空行
有一种更有效的方法可以做到这一点,但它似乎对我使用的几个文档起作用.
据我所知,unzip,grep和sed都有适用于Windows和任何Unix的端口,所以它应该是合理的跨平台.Despit是一个丑陋的黑客;)
| 归档时间: |
|
| 查看次数: |
3704 次 |
| 最近记录: |