从Word中提取方程和图像

时间:2008-12-08 15:55:57

标签: .net vb.net ms-word extract equation

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

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

3 个答案:

答案 0 :(得分: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必须是完整路径名。

答案 1 :(得分:5)

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

将第一个项目复制到剪贴板上的一些VBA代码,这可能有助于您提取它们:

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

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

答案 2 :(得分:0)

尝试查看Word-to-latex转换器。它需要.Net框架,虽然源尚未打开,但作者确实会对此提出疑问。