解析Office文档

发布于 2024-07-06 01:13:23 字数 212 浏览 4 评论 0 原文

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

需要可读的office版本是2000年到2007年的。我主要想爬取word、excel和powerpoint文档。

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

该爬虫基于 lucene.NET(如果可以提供一些帮助)并且是 C# 语言。

我已经使用 iTextSharp 来解析 PDF

I`d like to be able to read the content of office documents (for a custom crawler).

The office version that need to be readable are from 2000 to 2007. I mainly want to be crawling words, excel and powerpoint documents.

I don`t want to retrieve the formatting, only the text in it.

The crawler is based on lucene.NET if that can be of some help and is in c#.

I already used iTextSharp for parsing PDF

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

聊慰 2024-07-13 01:13:23

如果您已经在使用 Lucene.NET,您可能只想利用现有的各种 IFilter 来执行此操作。 看一下开源SeekAFile 项目。 它将向您展示如何使用 IFilter 打开 IFilter 可用的任何文件类型并从中提取此信息。 有适用于 Word、Excel、Powerpoint、PDF 和大多数其他常见文档类型的 IFilter。

If you're already using Lucene.NET you might just want to take advantage of the various IFilters already available for doing this. Take a look at the open source SeekAFile project. It will show you how to use an IFilter to open and extract this information from any filetype where an IFilter is available. There are IFilters for Word, Excel, Powerpoint, PDf, and most of the other common document types.

音栖息无 2024-07-13 01:13:23

有一个优秀的开源项目 POI,唯一的缺点 - 它是为 Java 编写的。
.net 端口 在某种程度上还处于测试阶段。

There is an excelent open source project POI, only drawback - it is written for Java.
The .net port is somehow very beta.

深海里的那抹蓝 2024-07-13 01:13:23

这里列出了用于将 Word 文档转换为纯文本的各种工具,然后您就可以执行此操作无论与.

Here is a good list of various tools for converting Word documents to plaintext, which you can then do whatever with.

玉环 2024-07-13 01:13:23

这是 Krishnan LN 发表的 关于 c-charpcorner 的精彩小帖子它提供了使用 Word Primary Interop 程序集从 Word 文档中获取文本的基本代码。

基本上,您从 Word 文档中获取“WholeStory”属性,将其粘贴到剪贴板,然后将其从剪贴板中拉出,同时将其转换为文本格式。 剪贴板步骤大概是为了去除格式。

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

对于 Excel,由于 Excel 可以是 OleDb 数据源,因此使用 ADO.NET 最简单。 这是Laurent Bugnion 的好帖子,介绍了这项技术。

Here's a nice little post on c-charpcorner by Krishnan LN that gives basic code to grab the text from a Word document using the Word Primary Interop assemblies.

Basically, you get the "WholeStory" property out of the Word document, paste it to the clipboard, then pull it from the clipboard while converting it to text format. The clipboard step is presumably done to strip out formatting.

For PowerPoint, you do a similar thing, but you need to loop through the slides, then for each slide loop through the shapes, and grab the "TextFrame.TextRange.Text" property in each shape.

For Excel, since Excel can be an OleDb data source, it's easiest to use ADO.NET. Here's a good post by Laurent Bugnion that walks through this technique.

因为看清所以看轻 2024-07-13 01:13:23

您也可以考虑查看 DtSearch (www.DtSearch.com)。 虽然它主要是一个搜索工具,但它在从大量文件类型中提取文本方面表现出色,并且比 Oracle/Stellent OutsideIn 技术或 Autonomy 的同等技术等其他选项便宜得多。

我已经使用 DtSearch 多年,发现它对于此类任务来说是不可或缺的。

You might also consider checking out DtSearch (www.DtSearch.com). Although it is primarily a searching tool, it does a great job of extracting text from a large number of file types and is considerably cheaper than other options like the Oracle/Stellent OutsideIn technology or the equivalent from Autonomy.

I've been using DtSearch for years and find it indispensible for this type of task.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文