POI or NPOI-- 这些是专门为 Microsoft Office 文档编写的库,特别是 2007 年之前的格式、OLE 二进制文件格式。它确实支持较新的 OpenXML 格式,但我不确定该库的这一部分有多成熟。 POI 是 java 版本(请继续阅读下面的内容,了解有关我为何包含此内容的更多信息。),其中 NPOI 是本机 .NET 版本。但是NPOI只支持excel文档,POI可以对excel文档进行文本提取还有更多类型.
开放 XML SDK 2.0-- 用于读取/修改 Office 2007+(未加密的 OpenXML)文档的库是我的 Microsoft 自己创建的!这是一个处理此类文档的令人惊叹的库。然而,它是一个较低级别的库,因此实际上(据我所知)没有它做了一切文本提取类。有一个相当好的例子(我不确定它是否涵盖某些情况,例如表格中的文本等),从Word文档中提取文本在这个如此答案
Tika-- 再一次,另一个 Java 库(我不会无缘无故地告诉你 Java 库。继续阅读!:)),这将尽可能接近用于文本提取的“一个库”。 Tika 可以提取元数据并结构化文本内容使用现有的解析库从许多不同类型的文件中提取数据。它实际上使用 POI 和 PdfBox 来处理 Office 和 PDF 文档。
iFilters can be used, and are mentioned in several other SO answers on different questions, but the text you will get back is unstructured. Sometimes it's just bad...unreadable for humans, at least. I believe that iFilters are also deprecated, and depending on license issues, you might not be able to redistribute them.