我想从 ASP.NET MVC 创建 PDF。我找到了这个库(http://www.codeproject.com/Articles/260470/PDF-reporting-using-ASP-NET-MVC3),它对我有帮助。但是当我想打印像“ř”这样的特殊字符时,iTextShat 不会打印它。我发现,我必须使用
new Chunk("+ěščřžýáíé=", font);
但我不知道如何在 BaseFont 上设置所有文档,而不仅仅是一个段落。你能帮我吗?
我想从 ASP.NET MVC 创建 PDF。我找到了这个库(http://www.codeproject.com/Articles/260470/PDF-reporting-using-ASP-NET-MVC3),它对我有帮助。但是当我想打印像“ř”这样的特殊字符时,iTextShat 不会打印它。我发现,我必须使用
new Chunk("+ěščřžýáíé=", font);
但我不知道如何在 BaseFont 上设置所有文档,而不仅仅是一个段落。你能帮我吗?
我对东欧信件也有类似的问题。这是帮助我解决问题的一段代码:
string fontPath = String.Format("{0}\\{1}", Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "arial.ttf");
string title = "Some Title";
iTextSharp.text.Font fontTitle = iTextSharp.text.FontFactory.GetFont(fontPath, iTextSharp.text.pdf.BaseFont.CP1250, 22f);
iTextSharp.text.Paragraph paraTitle = new iTextSharp.text.Paragraph(title, fontTitle);
paraTitle.Alignment = iTextSharp.text.Element.ALIGN_CENTER;
document.Open();
document.Add(paraTitle);
你感兴趣的是fontTitle
变量。这是为国家页面 1250 创建基本字体的方法。您将指定自己的基本字体设置。
您可以使用系统的 Fonts 文件夹准备一个新的 BaseFont:
string arialPath = Environment.GetEnvironmentVariable("SystemRoot") + "\\fonts\\arial.ttf";
BaseFont arial = BaseFont.CreateFont(arialPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font myFont = new Font(arial, 12, Font.NORMAL);
new Chunk("+ěščřžýáíé=", myFont);