是否有编程方法从MS Word文档中提取方程(以及可能的图像)?我已经用谷歌搜索了所有内容,但还没有发现任何可以让我陷入困境并从中工作的东西.如果可能的话,我希望能够用VB.NET或C#做到这一点,但我可以选择足够的语言来破解DLL.谢谢!
编辑:现在我正在寻找从Word 2003中提取方程式,但如果需要将其转换为2007/Open XML,那很好.
你的文件是什么Word格式?如果它们位于Open XML(文件扩展名.docx)中,则可以使用Microsoft提供的Open XML SDK来提取图像和嵌入内容.
Open XML文件只是一个使用特殊结构的zip存档.您将在SDK中找到如何访问该zip存档部分的示例.实际上,您可以使用任何具有zip功能的库来从文档包中提取内容.
如果文档仍然使用较旧的二进制格式,则事情会复杂一些.我认为最简单的方法是将文档转换为Open XML格式.做这件事有很多种方法:
从SourceForge 获取免费和开放的b2xtranslator,它为您提供C#dlls进行文件转换.
安装Microsoft的兼容包并使用以下命令行进行转换:
"C:\ Program Files\Microsoft Office\Office12\wordconv.exe"-oice -nme input_file output_file
其中input_file和output_file必须是完整路径名.
我不知道是否有任何帮助,但Word 2000/2003中的对象模型有一个InlineShapes
集合作为Document
对象的一部分,它表示嵌入的图像和可能类似的对象,如方程式.
一些VBA代码将第一个项目复制到剪贴板上,这可能有助于您提取它们:
ThisDocument.InlineShapes.Items(1).Select Selection.Copy
它也可以在.NET中访问,MSDN链接.