不是pdf的事,是水晶报表设置的原因,大概原因如下:
原因1:CR输出的汉字格式不对(简体还是繁体),简体要先在区域设成(中国),然後在cr里设字体为"宋体“即可
原因2:字符集问题。应查看web.config中字符集配置
原因3:数据流量过大。有时候,在水晶报表中导入的数据过多,并配置有图表,而服务器的配置相对较低,那么程序运行并不会报错,只是在显示的页面上显示乱码!至于原因,还没有搞明白。
原因4:Crystal Report 8.5导出的PDF是为乱码,但CryStal Report 9.0已经修正了这个问题。那么方法一是可以把Crystal Report8.5版本下做的报表重新在CryStal Report9.0再做,但如果所涉及的报表太多,那就很费力;方法二就是在打包CrySatl的安装程序时,可以打包Crystal Report8.5的Runtime dll,而另个一个crviewer.dll则需要使用Crystal Report9.0版本的就可以解决这个问题,这种方法则比较简单方便。补充说明,还有方法三,就是不需要作任何的更改,不用导出的功能,使用Adode PDF Printer的打印功能去打印CP8.5的报表,通过打印功能输入的PDF则不会乱码。将Crystal Reports 9 版本下的crxf_pdf.dll覆盖8.5版本下的同名文件即可
原因5:针对显示中文的FIELD采用中文字体.如"宋体 (CHINESE_GB2312)",请注意一定要选择中文的字符集.选择导出到EXCEL5.0,EXCEL6.0或EXCLE7.0格式的文件.切勿选择EXCEL8.0格式.先将报表导出为文本文件格式(如Tab-separated Text),再用EXCEL打开并保存.xls为文件.
这怎么解决啊?重装系统好了。