【问题标题】:SSRS - Font with spacesSSRS - 带空格的字体
【发布时间】:2025-12-02 08:55:02
【问题描述】:

我的字体名称中有空格,但在使用 IE11(我必须使用的浏览器)显示报表时无法识别。

奇怪的是,IE8能识别,但是我不能用……

如果我手动(通过 F12)将 CSS 从 font-family: Code 128; 更改为 font-family: "Code 128";font-family: Code128;,它会在 IE11 中正确显示。

在 HTML 中呈现报告时,是否有办法强制 SSRS 为 font-family 使用引号?

我在这方面找不到任何东西,而且似乎在属性字段中写入 "Code 128"Code128 不起作用(“属性值无效。”

编辑

所以我终于设法通过编写以下代码使其适用于 Html 渲染:

FontFamily : =""Code 128""

但是当导出到pdf时字体无法识别

【问题讨论】:

  • 我假设您已经按照this link 的描述将字体安装到您的 SSRS 服务器。在我看来,SSRS 允许在 font-family 属性中使用空格,因此如果字体安装在本地计算机上进行开发并且启用了字体嵌入的 SSRS 服务器,它应该可以工作。另一个不太理想的解决方案是对文本使用占位符并使用HTML Markup 来简单地使用 HTML 标记更改字体。
  • 我确实安装了字体,我的问题是它生成font-family: Code 128;,这不是IE11识别的,但它是IE8识别的
  • 我看到一些网站建议将font-family 属性作为表达式输入,例如="Code 128"。也许试一试?
  • 我刚刚尝试过,它给出了相同的输出(SSRS FontFamily 字段:="Code 128",HTML 输出:font-family: Code 128;,所以没有被 IE11 渲染)我什至尝试过="""Code 128""",但没有运气,它输出font-family: "";

标签: ssrs-2008-r2 font-family


【解决方案1】:

在看到使用=""Code 128"" 可以用于 HTML 渲染,但不能用于 pdf 导出后,我尝试了以下方法,它对 HTML 和导出都有效:

=IIF(Globals!RenderFormat.IsInteractive, ""Code 128"", "Code 128")

【讨论】: