C# CAD多行文字创建过程中RTF字体设置

    近日楼主在用CAD二次开发的过程中,遇到创建的多行文字(Mtext)字体(TextStyleId)设置为宋体但无效的问题,纠结了很长时间后明白问题出现在什么地方。由于楼主要创建的多行文字的内容是由Html转换来的,首先使用ConvertHtmlToRtf()方法将Html转换成Rtf,之后直接用Mtext的SetContentsRtf()方法获取Rtf内容,转换后的Rtf包含的字体不是楼主想用的字体,但是由于直接对Rtf处理实在繁琐,于是想到先把Rtf转换成文本,再赋值给Mtext,其中借助RichTextBox控件传递值,测试之后发现可行,在此与大家分享,过程如下:


//转换后的rtf,文本为你好,abc

string str= "{\\rtf1\\ansi\\ansicpg1252\\uc1\\htmautsp\\deff2{\\fonttbl{\\f0\\fcharset0 Times New Roman;}{\\f2\\fcharset134 \\'ce\\'a2\\'c8\\'ed\\'d1\\'c5\\'ba\\'da;}}{\\colortbl\\red0\\green0\\blue0;\\red255\\green255\\blue255;}\\loch\\hich\\dbch\\pard\\plain\\ltrpar\\itap0{\\lang1033\\fs18\\f2\\cf0 \\cf0\\ql{\\f2 {\\ltrch \\'c4\\'e3\\'ba\\'c3\\'a3\\'acabc,123;}\\li0\\ri0\\sa0\\sb0\\fi0\\ql\\par}\r\n}\r\n}";

Mtext mText = new Mtext();            //多

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值