6

一部の特殊なスロバキア文字 (例えば、č、ň、ť) に問題があります。それらは、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

これの考えられる理由と解決策を知っている人はいますか?

4

1 に答える 1

13

問題はここにあります:

BaseFont.CreateFont(BaseFont.HELVETICA ...

BaseFont.HELVETICA標準の Type 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)));
}
于 2012-08-14T18:28:50.067 に答える