-1

我正在开发教育软件,需要将数学方程式从 word 文件保存到 sql 数据库。有不同类型的内容文档,例如数学,物理和化学。我想将这些word文档内容(具体以表格格式提供)保存在sql表中。

我在我的 winforms 应用程序中进行了一些流程,例如从 word 复制内容并从剪贴板获取数据,然后我尝试将该方程式保存在位图文件或图像文件或字节中,但无法使用该流程。

        IDataObject data = Clipboard.GetDataObject();
        data.GetData(DataFormats.MetafilePict);

        Stream memoryStream = (Stream)data.GetData(DataFormats.MetafilePict);
        byte[] byt1 = ReadFully(memoryStream);
        using (var imageFile = new FileStream("d:/tempimg1.bmp", FileMode.Create))
        {
            imageFile.Write(byt1,0, byt1.Length);
            imageFile.Flush();
            imageFile.Close();
        }

在上面的片段中,我试图从剪贴板获取数学方程并尝试将该方程转换为位图图像,但它不能正确转换,当我打开该图像时不提供预览。
我需要指导方针来做到这一点。但是如何?

谢谢

4

1 回答 1

0

调用此代码:

    int equationIndex = 2;
    OMath om = wordApplication.ActiveDocument.OMaths[equationIndex];
    om.Range.Select();
    wordApplication.Selection.CopyAsPicture();
    String html = Clipboard.GetData(DataFormats.Html) as String;

将指定的方程式复制到剪贴板,就像HTML顶部的一些前导元数据一样。在底部html是这样的:

<img width=333 height=62
src="file:///C:\Users\...username...\AppData\Local\Temp\msohtmlclip1\01\clip_image002.png"
v:shapes="_x0000_i1025">

因此,您可以像任何其他图像一样解析html然后读取文件。png

于 2015-09-04T23:09:04.233 回答