SSRS报表设计器中自定义TrueType字体无法使用问题求助
解决SSRS报表设计器中无法识别自定义TrueType字体的问题
我之前在Windows 7 + VS2015的SSRS环境里也碰到过一模一样的情况——自定义字体在记事本、Word里都能用,唯独报表设计器里死活找不到。折腾了好一阵才摸清楚几个有效的解决办法,你可以挨个试试:
先确认字体是全用户安装的
很多人安装字体时只是双击打开点“安装”,这种默认是当前用户专属权限。你得右键字体文件,选「为所有用户安装」,确保系统级别的进程(包括VS和SSRS服务)都能访问到这个字体。装完一定要重启VS再看。修改SSRS设计器的配置文件,手动添加字体
SSRS默认会过滤一些不符合规则的字体,你可以手动把自定义字体加入白名单:- 找到VS2015的配置文件,路径一般是
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\RSReportDesigner.config - 用记事本(管理员权限打开)编辑这个文件,找到
<Fonts>节点,如果没有就自己加一段:
这里的字体名称要和控制面板里字体的属性名称完全一致(比如字体叫「企业黑体」就填这个,别填文件名)。保存后重启VS。<Fonts> <FontFamily> <Name>你的自定义字体全名</Name> <Substitutes> <Substitute>Arial</Substitute> </Substitutes> </FontFamily> </Fonts>
- 找到VS2015的配置文件,路径一般是
检查字体的嵌入权限
SSRS要求字体支持嵌入,不然会直接忽略它。你可以用系统自带的fontview.exe打开字体,查看「详细信息」里的「嵌入权限」,得是「可嵌入」或「可编辑嵌入」才行。如果是「不可嵌入」,要么找字体提供商要可嵌入版本,要么别用这个字体(改嵌入属性可能涉及版权,谨慎操作)。重启SSRS相关服务
有时候VS重启了,但后台的SSRS服务还没刷新字体缓存。打开「服务」控制台,找到「SQL Server Reporting Services」(如果有本地实例的话),重启它,再打开报表设计器试试。强制刷新系统字体缓存
Windows的GDI+缓存可能没更新,导致SSRS没检测到新字体。以管理员身份打开命令提示符,输入下面的命令回车,等执行完重启VS:rundll32.exe user32.dll,UpdatePerUserSystemParameters
内容的提问来源于stack exchange,提问作者Will O'Malley
相关产品推荐
相关产品推荐

