解析办公文档

3

我希望能够读取办公文档的内容(用于自定义爬虫)。

需要可读取的办公版本为2000至2007年。我主要想爬取Word、Excel和PowerPoint文档。

我不想检索格式,只需要其中的文本。

爬虫基于lucene.NET,如果有帮助的话是用c#编写的。

我已经使用iTextSharp解析PDF文件了。

5个回答

3
如果您已经在使用Lucene.NET,您可能只想利用已经可用于此的各种IFilter。看看开源项目SeekAFile。它将向您展示如何使用IFilter打开并从任何支持IFilter的文件类型中提取此信息。Word、Excel、Powerpoint、PDf以及大多数其他常见文档类型都有IFilter。

1

有一个非常优秀的开源项目POI,唯一的缺点是它是用Java编写的。 .net端口目前还处于beta版本。


1

这里有一个很好的工具列表,可以将Word文档转换为纯文本,然后您可以随意处理。


0
你可能还想考虑一下DtSearch(www.DtSearch.com)。虽然它主要是一个搜索工具,但它在从大量文件类型中提取文本方面表现出色,并且比其他选项如Oracle/Stellent OutsideIn技术或Autonomy的等效选项便宜得多。
我已经使用DtSearch多年了,并发现它对于这种任务来说是不可或缺的。

0

这里有一篇由Krishnan LN撰写的关于c-charpcorner的小文章,提供了使用Word主要互操作程序集获取Word文档中文本的基本代码。

基本上,您可以从Word文档中获取“WholeStory”属性,将其粘贴到剪贴板上,然后在转换为文本格式的同时从剪贴板中提取它。 剪贴板步骤可能是为了去除格式。

对于PowerPoint,您需要执行类似的操作,但需要循环浏览幻灯片,然后对于每个幻灯片循环浏览形状,并在每个形状中获取“TextFrame.TextRange.Text”属性。

对于Excel,由于Excel可以是OleDb数据源,因此最简单的方法是使用ADO.NET。 这里有一篇Laurent Bugnion的好文章,介绍了这种技术。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接