【问题标题】:iTextSharp and special characters (slovak graphemes)iTextSharp 和特殊字符(斯洛伐克字形)
【发布时间】:2012-08-10 15:05:32
【问题描述】:

我在处理一些特殊的斯洛伐克语字符(例如 č、ň 和 ť)时遇到问题。它们正在 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

有人知道可能的原因和解决方法吗?

【问题讨论】:

    标签: utf-8 itext pdf-generation special-characters encode


    【解决方案1】:

    问题出在这里:

    BaseFont.CreateFont(BaseFont.HELVETICA ...
    

    BaseFont.HELVETICAstandard 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)));
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-22
      • 2015-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多