因为项目需求要做一个比较复杂的PDF,因PDF生成后有几十页,就考虑用模板填写表单数据完成。前面进行的很顺利,但是因为一开始添加的是系统的中文字体导致生成的PDF过大(上百M),又换成使用iTextAsian和iTextAsianCmaps的方式,但是一直报错,希望哪位高人指点迷津,不胜感激。所有的dll都引用了 始终找不到原因。
Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized.
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: iTextSharp.text.DocumentException: Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized.
源错误:
行 34: BaseFont.AddToResourceSearch("iTextAsian.dll");
行 35: BaseFont.AddToResourceSearch("iTextAsianCmaps.dll");
行 36: BaseFont baseFont = BaseFont.CreateFont("STSong-Light", "UniGB-UCS2-H", BaseFont.EMBEDDED);
行 37: //BaseFont baseFont = BaseFont.CreateFont("C:\\WINDOWS\\FONTS\\STSONG.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
行 38: //Font font8 = new Font(baseFont, 7, Font.BOLD);// FontFactory.GetFont("宋体", 7, Font.BOLD); |