作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用某些特殊的斯洛伐克字符(例如 č、ň 和 ť)时遇到问题。它们在 itextsharp 生成的 pdf 中消失了。
据我所知,这个问题与我的 BaseFont
的编码有关。目前我正在使用这个:
BaseFont.CreateFont(BaseFont.HELVETICA, iTextSharp.text.pdf.BaseFont.CP1250, BaseFont.NOT_EMBEDDED)
有人建议这应该有效:
BaseFont.CreateFont(BaseFont.HELVETICA, iTextSharp.text.pdf.BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED)
但是它抛出了这个异常错误:
System.ArgumentException was caught
Message='Identity-H' is not a supported encoding name.
Parameter name: name
ParamName=name
Source=mscorlib
有人知道可能的原因和解决方案吗?
最佳答案
问题出在这里:
BaseFont.CreateFont(BaseFont.HELVETICA ...
BaseFont.HELVETICA
是 standard type 1 font并且不能用于您的斯洛伐克字符。您需要使用具有正确字形的字体:
string FONT = "c:/windows/fonts/arialbd.ttf";
using (Document document = new Document()) {
PdfWriter.GetInstance(document, STREAM);
document.Open();
BaseFont bf = BaseFont.CreateFont(
FONT, BaseFont.IDENTITY_H, BaseFont.EMBEDDED
);
document.Add(new Paragraph("č, ň and ť", new Font(bf, 12)));
}
关于utf-8 - iTextSharp 和特殊字符(斯洛伐克字素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11950338/
我是一名优秀的程序员,十分优秀!