一些特殊字符在LocalReport

时间:2019-05-14 09:08:21

标签: c# .net pdf render rdlc

我正在使用Microsoft.Reporting.WinForms.dll将RDLC渲染为pdf文件,但是当我使用Adobe Reader打开pdf文件时,我遇到了一些特殊土耳其语字符的问题。在pdf中,它们看起来很正常,但是当我尝试使用CTRL + F在pdf文件中搜索某些单词。我找不到这些话。即使我的pdf文件包含这些土耳其字符。另外,当我将这些单词复制粘贴到文件中时,我得到诸如之类的字符。有趣的是,我也使用相同的dll将RDLC呈现为Excel文件。我使用相同的类,相同的代码和相同的方法。我在excel文件中没有这个问题。

我在WinForms.dll中使用byte[] Render(string format);方法进行渲染。也许某些特殊字符的ASCII码超出了字节数组的范围,也许因为这个原因,它无法将所有字符都呈现为pdf格式,但我不确定。

谢谢...

2 个答案:

答案 0 :(得分:0)

根据microsoft article,存在一个特殊字符的问题,该问题已在sql server 2014中修复,相应的reportviewer dll将是2015运行时。

也许您应该升级

答案 1 :(得分:0)

我有类似的问题。我的应用程序使用LocalReport生成PDF。 我的解决方案是: 1-修改RDLC XML模式以使用2016版本。更改您拥有的内容。

<Report xmlns = "http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns: rd = "http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">.

然后,修改架构,它不再与以前的版本相同(数据源会上升...)

2-从DeviceInfo中删除<EmbedFonts>None</EmbedFonts>

通过这些更改,我对特殊字符进行了很好的绘制和打印。