Mul*_*ner 6 pdf-generation encode utf-8 itext special-characters
我遇到一些特殊的斯洛伐克人物(例如č,ň和ť).它们在itextsharp生成的pdf中消失了.
从我能够找到的,这个问题与我的编码有关BaseFont
.目前我正在使用这个:
BaseFont.CreateFont(BaseFont.HELVETICA, iTextSharp.text.pdf.BaseFont.CP1250, BaseFont.NOT_EMBEDDED)
Run Code Online (Sandbox Code Playgroud)
有人建议这应该有效:
BaseFont.CreateFont(BaseFont.HELVETICA, iTextSharp.text.pdf.BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED)
Run Code Online (Sandbox Code Playgroud)
但它抛出此异常错误:
System.ArgumentException was caught
Message='Identity-H' is not a supported encoding name.
Parameter name: name
ParamName=name
Source=mscorlib
Run Code Online (Sandbox Code Playgroud)
有人知道可能的原因和解决方案吗?
kuu*_*nbo 13
问题出在这里:
BaseFont.CreateFont(BaseFont.HELVETICA ...
Run Code Online (Sandbox Code Playgroud)
BaseFont.HELVETICA
是标准的1型字体,不能用于斯洛伐克字符.您需要使用具有正确字形的字体:
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)));
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7038 次 |
最近记录: |