【问题标题】:Polish characters in PDF document using iTextSharp使用 iTextSharp 修饰 PDF 文档中的字符
【发布时间】:2015-04-26 17:07:35
【问题描述】:

我正在尝试在 PDF 文件中创建一个表格,其中填充带有波兰语字符(ą、ę、ć、ż 等)的文本。

dokument.Open();

BaseFont arial = BaseFont.CreateFont(@"C:\Windows\Fonts\ARIALUNI.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font font = new Font(arial, 9);

(...)

dokument.Add(new iTextSharp.text.Paragraph(" ", font));

(...)

table.AddCell(new Phrase(wyraz, font));

我得到了正确字体的文本(在这种情况下为 ARIALUNI,但我尝试过 Arial、Helvetica、Courier、Times...)但没有波兰语字符。

例如:我需要一个单词“wymawiać”。

使用 ARIALUNI 我得到:“wymawia�”

使用其他字体我得到:“wymawia”

我还尝试了其他编码,例如使用这些字体的 CP1250、CP1252、CP1257。我该怎么办?

【问题讨论】:

  • 您的数据和文档必须具有相同的编码。不要使用您提到的那些遗留编码。
  • @milleniumbug - 感谢您的回答,我将 .txt 文件编码更改为 Unicode,它可以正常工作!非常感谢!
  • 您遇到了编码问题。您可以在这里找到您问题的详细答案:Can't get Czech characters while generating a PDF

标签: c# pdf itextsharp


【解决方案1】:

这看起来不像是字体问题,而是编码问题。

使用 I/O 的一般规则是“解码所有输入,编码所有输出”——这也意味着您必须知道在目标文件中使用哪种编码。

如果你不这样做,你可能会看到这样的人工制品。

【讨论】:

    猜你喜欢
    • 2011-11-06
    • 1970-01-01
    • 2014-02-08
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多