ReportViewer和font-family

时间:2016-01-28 11:03:09

标签: asp.net iis reporting-services reportviewer font-family

我在.Net中实现了一个Web门户,它集成了一个ReportViewer控件来加载SSRS报告。为了自定义报告,我在rdl报告文件中使用自己的字体。使用css中的font-family声明在客户端动态加载Font:

@font-face{
font-family: 'Helvetica 35 Thin';
src:url('../fonts/HelvNeue35_W1G.eot?#iefix');
src:url('../fonts/HelvNeue35_W1G.eot?#iefix') format('eot'), url('../fonts/HelvNeue35_W1G.woff2') format('woff2'), url('../fonts/HelvNeue35_W1G.woff') format('woff'), url('../fonts/HelvNeue35_W1G.ttf') format('truetype'), url('../fonts/HelvNeue35_W1G.svg') format('svg');

}

使用IIS Express在Visual Studio中完成所有工作:在每个Web浏览器上正确加载字体并在报告中正确显示。这也适用于我的开发服务器。但是,由于我部署在集成服务器上,因此不会显示字体。 我指定在Visual和集成平台上使用本地相同的SSRS服务器。

我调查过,发现IIS Express的ReportViewer控件生成的SSRS代码与IIS 8之间存在差异。

事实上,从Visual Studio执行中我发现:

    .A6b8151803b1943dc956fcd4b577a57f413{word-wrap:break-word;
    white-space:pre-wrap;padding-left:2pt;padding-top:2pt;
    padding-right:2pt;padding-bottom:2pt;border:1pt none Black;
    background-color:Transparent;font-style:normal;
    font-family:'Helvetica 35 Thin';

从IIS 8我发现:

    .A87918d1b077d4156abf69d70d7bd400213{word-wrap:break-word;
    white-space:pre-wrap;padding-left:2pt;padding-top:2pt;
    padding-right:2pt;padding-bottom:2pt;border:1pt none Black;
    background-color:Transparent;font-style:normal;
    font-family:Helvetica 35 Thin;

引用已从IIS 8中删除。由于字体名称包含空格字符,因此解释了浏览器未找到字体的原因。

现在我需要解释为什么从这个平台删除引用。有人遇到过这个问题吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我们刚刚遇到过这个问题。 我们通过使用字体名称的表达式并将其设置为

来修复它

=“'名称空格的字体'”

如果您使用的是IE,那么使用兼容模式也可能会为您解决问题。