【发布时间】:2018-10-09 06:15:55
【问题描述】:
Using: SQL Server 2012 Reporting Services,
Product Version: 11.0.7462.6
Report Server Mode: Native
服务器端 rdl 报告以 PDF 格式生成。
在 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 等格式生成的报告看起来很好。
谁能解释一下?
编辑:我应该补充一点,报告中没有使用特殊字符或类似的东西。
【问题讨论】:
-
@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