Crystal Reports ReportDocument PDF导出带有特殊字符

时间:2014-01-17 11:55:43

标签: pdf crystal-reports export report

我正在使用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;

1 个答案:

答案 0 :(得分:0)

http://www.codeproject.com/Tips/749570/How-to-Export-Crystal-Report-in-Regional-Language

我将解决在导出水晶报告时出现字体显示框或垃圾问题,该报告是在区域语言中创建的,如马拉地语,印地语,阿拉伯语。大多数问题是因为字体。

开发报告时我们使用的字体应该在服务器上

您要部署应用程序的位置。

如果没有字体,那么它将像字符一样创建垃圾。

提示:您无法使用任何字体进行开发报告您应该使用Unicode字体。

主要步骤是在服务器上安装字体或您要部署应用程序的任何位置。

在使用英语等语言导出Crystal报表时,我们不会遇到问题,因为

默认情况下,您的PC(计算机)中安装了该字体。

但在制定报告时我们在区域语言中遇到了问题: