C# VSTO 在Word中将 EQ域、EQ公式域 转为图片
2021/8/30 12:06:12
本文主要是介绍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会有一定的变化,需要使用者注意一下。
完成
这篇关于C# VSTO 在Word中将 EQ域、EQ公式域 转为图片的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具
- 2024-01-24.NET集成IdGenerator生成分布式全局唯一ID