zoukankan      html  css  js  c++  java
  • C# VSTO 在Word中将 EQ域、EQ公式域 转为图片

    C# VSTO  Word EQ域 EQ公式域 转为 图片

    C# VSTO  Word EQ域 EQ公式 转为 图片

    C# VSTO  Word EQ域 公式域 转为 图片

    我们知道我们正常插入的公式为Office公式,操作方式为:

    在Word里面有一种特殊的东西叫“”,他可以是,目录,公式,时间.....

    这里是创建eq域的方法

    需求:将eq域转为图片

    代码:

           ///// <summary>
            /////公式域保存为图片
            ///// </summary>
            public static void SaveImg(Document Doc)
            {
                foreach (Microsoft.Office.Interop.Word.Field fld in Doc.Fields)
                {
                    //这里可以得到域的类型是不是eq域在进行下面的操作,不然所以的都转换了
                    //int sta = fld.Code.Start;
                    //var aa = fld.Code;
    //域的左右范围+1才能转为图片 var nRange = Doc.Range(fld.Code.Start - 1, fld.Code.Start + 1); //将图片去除白边 var img = QueItemRange.CutImageWhitePart(nRange.ToImageStream()); string path = Path.GetFullPath(Path.GetRandomFileName().Replace(".", "") + ".png"); img.Save(path, System.Drawing.Imaging.ImageFormat.Png); //插入到文档中 var ii = nRange.AddPicture(path); //段落,图片比文字高80%(这里没有调好,可以直接调) //var ph = fld.Code.Paragraphs.First.LineSpacing*1.8; //var ip = ii.Height/ ph; //暂定写死图片大小 ii.ScaleHeight = 14; ii.ScaleWidth = 16; //删除域 fld.Code.Text = ""; File.Delete(path); } }

    备注:

    图片去除白边(QueItemRange.CutImageWhitePart)可以看我的另外的博客 https://www.cnblogs.com/ping9719/p/11416176.html

    测试 MS Office 和 WPS Office 都ok

    ms会完全没有问题,

    但是wps在后续使用中可能Range会有一定的变化,需要使用者注意一下。

    完成

    如有问题请联系QQ: var d=["1","2","3","4","5","6","7","8","9"]; var pass=d[8]+d[6]+d[0]+d[8]+d[2]+d[0]+d[4]+d[3]+d[2];
  • 相关阅读:
    替换Srun3000解决掉网问题
    了解Equals所发生的事情
    WPF自定义TextBox及ScrollViewer
    自制多类编码转换工具
    .NET4.5之自制多LRC转SRT小工具
    JAVA_list总结
    记一次线程Timer导致的线程安全问题修正
    JAVA_匿名内部类
    JAVA_map总结
    JAVA_闭包
  • 原文地址:https://www.cnblogs.com/ping9719/p/15205267.html
Copyright © 2011-2022 走看看