【问题标题】:SSRS Export to PDF character spacing issues on Windows 2016 serverWindows 2016 服务器上的 SSRS 导出为 PDF 字符间距问题
【发布时间】:2018-10-09 06:15:55
【问题描述】:
Using: SQL Server 2012 Reporting Services,
Product Version: 11.0.7462.6
Report Server Mode: Native

服务器端 rdl 报告以 PDF 格式生成。

Sample rdl file contents here

在 Windows 2008 R2 Server 上,生成的 PDF 看起来不错:

在 Windows 2016 Server 上,PDF 存在较小的间距问题(请参阅红色下划线部分):

即对于“1”行,小写“l”和数字“2”之间的间距不存在。 “1”行的文本值如下所示:

="Chos achrPapis Frhmistisya Sdt AFT hTe apetociaschmrdtP rilyus TtFam l25044025 - stuTr" & vbcrlf & "a"

请注意,第“2”行显示正常。第 2 行的文本值与第 1 行相同,但只有 1 行:

="Chos achrPapis Frhmistisya Sdt AFT hTe apetociaschmrdtP rilyus TtFam l25044025 - stuTr" 

所以看来回车是这个问题的一个因素。

另外,在第 3 行中,“world”和“Support”之间应该有一个空格,但没有。

问题似乎只出在导出为 PDF 时。以 Html、Word 等格式生成的报告看起来很好。

谁能解释一下?

编辑:我应该补充一点,报告中没有使用特殊字符或类似的东西。

【问题讨论】:

  • 可能与编码有关?? social.technet.microsoft.com/Forums/en-US/…
  • @JeremyThompson - 我不会这么认为。不仅可以使用 Calibri,还可以使用我尝试过的其他常见字体(例如 Arial)来重现该问题。即使生成的 pdf 显示在生成报告的同一台服务器上,也可以看到问题。感谢您的回复。
  • 是否将vbClrf 更改为其他人是否会提供换行错误的任何线索,例如:stackoverflow.com/a/27223391/495455。您还可以确认没有其他 PDF 库并且 PDF DLL 是相同的版本,只是为了缩小差异 - 我明天再试。
  • @JeremyThompson - 我之前尝试过 vbCrLf、vbCr、vbLf - 结果对结果没有任何影响。如何检查 PDF DLL?您的意思是报告服务呈现 dll 吗?如果是这样,我可以确认 Windows 2008 和 Windows 2016 服务器的版本相同。

标签: reporting-services ssrs-2012


【解决方案1】:

萌,

我无法确认您的问题。我在 SSRS 2016 上部署了报告,对我来说看起来不错。 我正在使用:

SSRS: Microsoft SQL Server 报告服务版本 13.0.4446.0

SQL 服务器: Microsoft SQL Server 2016 (SP1-CU4) (KB4024305) - 13.0.4446.0 (X64) 2017 年 7 月 16 日 18:08:49 版权所有 (c) Windows Server 2016 Standard 6.3(内部版本 14393)上的 Microsoft Corporation 标准版(64 位): )(管理程序)

可能你的 CU 和我这里用的不一样,所以我建议更新 SQL 到最新的更新。

见下图:

【讨论】:

  • 这实际上是当今更好的商业实践。从 SQL7 升级之前,我们不会等待 SQL 2000 SP4 发布。我们总是最新的。走 SSRS 2016 途径...
  • @Nikola - 感谢您的尝试!很高兴知道它可以在 SQL Server 2016 上运行。所以升级可能是一个答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多