Stimulsoft Pdf报告动态unicode字符串

时间:2017-11-04 06:30:56

标签: c# pdf unicode report stimulsoft

我有一个波斯语的报告文件,我使用以下代码生成它:

StiReport report = new StiReport();
        var stream = new MemoryStream();
        var setting = new StiPdfExportSettings
        {
            ImageQuality = 1.0f,
            ImageResolution = 300,
            EmbeddedFonts = false,
            UseUnicode = true,
            StandardPdfFonts = true
        };
        report.Load(Server.MapPath(reportUrl));
        report.RegData("factorReport", model);
        report.RegData("factorReport_userBillDetails", model.UserBillDetail);
        report.Render();
        report.ExportDocument(StiExportFormat.Pdf, stream, setting);
        byte[] bytesInStream = stream.ToArray();
        stream.Close();
        Response.Clear();
        Response.ContentType = "application/force-download";
        Response.AddHeader("content-disposition", "attachment;    filename=Factor" + model.factorId + ".pdf");
        Response.BinaryWrite(bytesInStream);
        Response.End();
        return View();

生成的报告在开发计算机上没有问题 Report on development machine

但是当你看到Report on Production Server发布到生产服务器时,动态部分会出现问题,起初我认为问题可能是字体,但正如你在图片中看到的那样,所有标签都使用相同的字体,但是只有动态部分是正方形。之后我把它变成了Tahoma字体,这是一种通用字体并且支持波斯语,突然之间广场变成了问号!!!!!

我已经创建了fiz文件并加载到Stimulsoft的字体信息表,任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

回答这个问题已经很晚了,但是稍后可能会找到谁。

问题在于使用非标准的波斯字体,Mitra,Nazanin,Yekan等字体不是标准字体,并且在我们混合使用波斯字符和拉丁字符或有时使用数字的情况下,会在PDF导出中显示正方形。

>

要解决此问题,请使用波斯标准字体,例如IranSANS等。