Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 用C+编写的程序中的RTF/doc/docx文本提取+/Qt_C++_Windows_Qt - Fatal编程技术网

C++ 用C+编写的程序中的RTF/doc/docx文本提取+/Qt

C++ 用C+编写的程序中的RTF/doc/docx文本提取+/Qt,c++,windows,qt,C++,Windows,Qt,我正在用/C++编写一些程序,需要从//docx文件中读取文本 我正在寻找一些命令行程序来进行提取。它可能是几个程序 我发现的最接近的东西是,但是它有几个bug,所以我不能使用它。 我也在电脑上安装了Microsoft Word。也许有某种方法可以使用它来阅读文本(不知道如何使用)?我建议不要使用COM,因为这首先会破坏像Qt这样的便携式库的使用 您可能希望使用classic或类似的工具,例如 请注意,尽管catdoc作者声称catdoc在Windows下不工作,但有一个。尝试读取.doc文件,

我正在用/C++编写一些程序,需要从//docx文件中读取文本

我正在寻找一些命令行程序来进行提取。它可能是几个程序

我发现的最接近的东西是,但是它有几个bug,所以我不能使用它。 我也在电脑上安装了Microsoft Word。也许有某种方法可以使用它来阅读文本(不知道如何使用)?

我建议不要使用COM,因为这首先会破坏像Qt这样的便携式库的使用

您可能希望使用classic或类似的工具,例如


请注意,尽管catdoc作者声称catdoc在Windows下不工作,但有一个。

尝试读取.doc文件,您可以使用。doc基本上是一个结构化存储库,具有与文档的各个部分相对应的各种流。
请注意,这是一个非常复杂的API,即使使用此API,.doc文件也可能看起来非常混乱。

当然,这仍然只是windows,但至少不是COM。只是一个普通的旧C API。

现在,这非常难看,非常粗糙,但对于基本的文本提取,它似乎对我有用。显然,要在Qt程序中使用此命令,您必须为其生成一个进程,等等,但我所破解的命令行是:

unzip -p file.docx | grep '<w:t' | sed 's/<[^<]*>//g' | grep -v '^[[:space:]]*$'

解压-p file.docx | grep'这可能会有所帮助。它是跨平台的,具有API


否则,如果这只是windows,iFilter方法就是最好的选择。它将允许您解析系统中具有iFilter的任何内容。下面是一些例子。我经常使用C端的iFilter。

我正在尝试独立于平台进行操作。我认为有几个程序可以做这些事情,但需要找到。无论如何谢谢这对docx文件有用。。。但这取决于您对OpenXMLSDK的了解程度。。。如果你只是想要文本而不是太复杂。。。这也行,你可以试试wvLib。它被Abiword使用,正是我想要的,可以将.doc和.docx转换为纯文本。