4

是否有从 MS Word 文档中提取方程式(可能还有图像)的编程方式?我已经用谷歌搜索了所有内容,但还没有找到任何我可以投入并从中工作的东西。如果可能的话,我希望能够使用 VB.NET 或 C# 来做到这一点,但我可以选择足够多的任何语言来破解 DLL。谢谢!

编辑:现在我正在考虑从 Word 2003 中提取方程式,但如果需要将其转换为 2007/Open XML,那很好。

4

3 回答 3

6

您的文档是什么 Word 格式?如果它们在 Open XML(文件扩展名为 .docx)中,您可以使用 Microsoft 提供的Open XML SDK来提取图像和嵌入内容。

Open XML 文件只不过是使用特殊结构的 zip 存档。您将在 SDK 中找到如何访问该 zip 存档部分的示例。实际上,您可以使用任何支持 zip 的库从文档包中提取内容。

如果文档仍然使用较旧的二进制格式,事情会更复杂一些。我认为最简单的方法是将文档转换为 Open XML 格式。做这件事有很多种方法:

  • 从 SourceForge获取免费且开放的b2xtranslator,它为您提供用于文件转换的 C# dll。
  • 安装 Microsoft 的Compatibility Pack并使用以下命令行进行转换:

    "C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme input\_file output_file

其中 input_file 和 output_file 必须是完整路径名。

于 2008-12-08T16:15:37.380 回答
5

我不知道这是否会有所帮助,但 Word 2000/2003 中的对象模型有一个InlineShapes集合作为Document对象的一部分,它表示嵌入的图像和可能的类似对象,如方程式。

一些用于将第一项复制到剪贴板的 VBA 代码,这可能会帮助您提取它们:

ThisDocument.InlineShapes.Items(1).Select
Selection.Copy

它也可以在 .NET 中访问,MSDN 链接

于 2008-12-08T16:44:09.227 回答
0

尝试查看Word-to-latex转换器。它需要 .Net 框架,尽管源代码尚未打开,但作者确实邀请了有关此的问题。

于 2008-12-08T16:01:31.697 回答