2008-12-08 39 views
4

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

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

回答

4

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

一些VBA代码的第一个项目复制到剪贴板,这可能会帮助你提取它们:

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

它在.NET中访问过,MSDN link

+0

这实际上是我一起去的。谢谢! – AndrewBurton 2008-12-09 01:05:55

0

试试看看Word-to-latex转换器。它需要.Net框架,尽管源文件尚未打开,但作者确实会对此提出问题。

4

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

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

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

  • 获取从SourceForge的自由和开放的b2xtranslator它为您提供了C#的DLL文件转换。
  • 安装微软的Compatibility Pack并使用下面的命令行转换:

    “C:\ Program Files文件\的Microsoft Office \ OFFICE12 \ wordconv.exe” -oice -NMe INPUT_FILE OUTPUT_FILE

哪里input_file和output_file必须是完整的路径名。