[asp.net-mvc]itextsharp ARIALUNI。专题信托基金托管服务器上的副本

标签: Asp.net-MVC C#
发布时间: 2016/10/9 6:06:17
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我的应用程序是 MVC4 c#,我用 itextsharp 来生成 PDF 文件。 若要打印特殊字符 ≥,我使用︰

string ARIALUNI_TFF = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "ARIALUNI.TTF");
var bf = BaseFont.CreateFont(ARIALUNI_TFF, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
var f = new Font(bf, 10, Font.NORMAL);

当我发布共享宿主服务器上的应用时,得到了此错误︰

C:\Windows\Fonts\ARIALUNI.TTF not found as file or resource.

将文件复制到内容目录并试图使用︰

string ARIALUNI_TFF1 = System.Web.HttpContext.Current.Server.MapPath("~/Content/ARIALUNI.TFF");
// FontFactory.Register(ARIALUNI_TFF1);
var bf1 = BaseFont.CreateFont(ARIALUNI_TFF1, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
var f1 = new Font(bf1, 10, Font.NORMAL);

出现以下错误︰

ARIALUNI.TFF' with 'Identity-H' is not recognized.

感谢你的建议。

解决方法 1:

我替换︰

string fontpath = System.Web.HttpContext.Current.Server.MapPath("~/Content/ARIALUNI.TFF");I replaced:
    var bf = BaseFont.CreateFont(fontpath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
    var f = new Font(bf, 10, Font.NORMAL);

string fontpath = System.Web.HttpContext.Current.Server.MapPath("~/Content/");
BaseFont bf = BaseFont.CreateFont(fontpath + "ARIALUNI.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font f = new Font(bf, 10, Font.NORMAL);

它的工作。

官方微信
官方QQ群
31647020