ArcGIS API 打印出图是通过发布GP打印服务实现模板出图,出现中文乱码与模板的字体设置有很大关系。
如何使用arcgis发布打印服务可以参照文章:https://blog.csdn.net/a1002308667/article/details/80965955?spm=1001.2014.3001.5501
中文乱码形式:
中文乱码原因:字体方框式乱码的根本原因是中文字体与设置字体不一致。
分情况进行问题解决:
1、模板标题等字体乱码
解决方式为找到发布的模板mxd文件,修改模板中文本的字体设置,可参照:https://blog.csdn.net/idomyway/article/details/79585182
2、图例标题字体乱码
解决方式同方式1,插入图例时,可以设置图例字样的字体
3、图例中图层中文字体乱码
笔者查找了大量的资料,最终发现与电脑系统和安装时默认字体有很大关系,模板图例设置里根本无法预先设置图层的字体,而在arcgmap中测试图例图层的字体时发现,添加的数据会自动以电脑默认字体为首选,如果是中文内容则会自动调整,并不会在map中出现乱码现象,但通过api打印则不会做出调整,仍然以电脑默认字体进行加载。
笔者部署的服务器恰好是英文版本,连中文字体都没有安装,而且安装了中文字体后也没有解决问题,经测试发现,打印时默认的是Arial字体,所以无论怎么更改api设置,模板设置,重新安装,利用软件修改电脑默认字体都无济于事。
能够解决的办法是,修改字体注册表,将Arial系列字体的值全部改为宋体对应的simsun.ttc
具体修改方式可参照:http://www.xitongcheng.com/jiaocheng/win10_article_54145.html