我正在使用c#将Crystal Reports文件导出为PDF。如果我在Crystal Reports中预览报表(通过手动添加参数),我会完美地看到报表。当我使用c#代码将其导出为PDF时,PDF不显示日文字符。我只是得到了一些方块。 我使用arial作为字体。
我做错了什么?
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load(report);
cryRpt.SetDatabaseLogon(sqluser, sqlpassword, sqlserver, company);
ExportOptions CrExportOptions;
DiskFileDestinationOptions CrDiskFileDestinationOptions = new DiskFileDestinationOptions();
PdfRtfWordFormatOptions CrFormatTypeOptions = new PdfRtfWordFormatOptions();
foreach (ReportDocument subrep in cryRpt.Subreports)
{
subrep.SetDatabaseLogon(sqluser, sqlpassword, sqlserver, company);
}
CrDiskFileDestinationOptions.DiskFileName = docname;
CrExportOptions = cryRpt.ExportOptions;
CrExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
CrExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
CrExportOptions.DestinationOptions = CrDiskFileDestinationOptions;
CrExportOptions.FormatOptions = CrFormatTypeOptions;
cryRpt.Export();
cryRpt.Close();
cryRpt.Dispose();
cryRpt = null;
答案 0 :(得分:0)
http://www.codeproject.com/Tips/749570/How-to-Export-Crystal-Report-in-Regional-Language
我将解决在导出水晶报告时出现字体显示框或垃圾问题,该报告是在区域语言中创建的,如马拉地语,印地语,阿拉伯语。大多数问题是因为字体。
开发报告时我们使用的字体应该在服务器上
您要部署应用程序的位置。
如果没有字体,那么它将像字符一样创建垃圾。
提示:您无法使用任何字体进行开发报告您应该使用Unicode字体。
主要步骤是在服务器上安装字体或您要部署应用程序的任何位置。
在使用英语等语言导出Crystal报表时,我们不会遇到问题,因为
默认情况下,您的PC(计算机)中安装了该字体。
但在制定报告时我们在区域语言中遇到了问题: