【发布时间】: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