我有一个波斯语的报告文件,我使用以下代码生成它:
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();
但是当你看到发布到生产服务器时,动态部分会出现问题,起初我认为问题可能是字体,但正如你在图片中看到的那样,所有标签都使用相同的字体,但是只有动态部分是正方形。之后我把它变成了Tahoma字体,这是一种通用字体并且支持波斯语,突然之间广场变成了问号!!!!!
我已经创建了fiz文件并加载到Stimulsoft的字体信息表,任何帮助将不胜感激:)
答案 0 :(得分:0)
回答这个问题已经很晚了,但是稍后可能会找到谁。
问题在于使用非标准的波斯字体,Mitra,Nazanin,Yekan等字体不是标准字体,并且在我们混合使用波斯字符和拉丁字符或有时使用数字的情况下,会在PDF导出中显示正方形。
>要解决此问题,请使用波斯标准字体,例如IranSANS等。