好吧,我正在尝试将一些数据从我的WinForms应用程序导出到PDF文件。我下载了一些支持土耳其语字符的字体。在土耳其语中,有一些字母,如ç,ğ,ş,ö,ü,ı。我的代码显示ç,ö,ü没有问题但是当用户输入ğ,ş或ı时,这些字母在PDF文件中显示为空白。
我的代码如下:
Document doc= new Document(iTextSharp.text.PageSize.LETTER, 10, 10, 42, 35);
PdfWriter wri=PdfWriter.GetInstance(doc, new FileStream("Test.pdf", FileMode.Create));
doc.Open();
BaseFont bf = BaseFont.CreateFont(@"C:\aller.ttf", BaseFont.CP1252, BaseFont.EMBEDDED);
iTextSharp.text.Font font = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL);
Paragraph p1 = new Paragraph(new Chunk("çğşöüı", font));
doc.AddLanguage("tr-TR");
wri.SetLanguage("tr-TR");
doc.Add(p1);
doc.Close();
那么,我的错误在哪里?
答案 0 :(得分:0)
BaseFont bF = BaseFont.CreateFont("C:\\windows\\fonts\\arial.ttf", "windows-1254", true);
iTextSharp.text.Font f = new iTextSharp.text.Font(bF, 12f, iTextSharp.text.Font.NORMAL);
Chunk c = new Chunk();
c.Font = f;
iTextSharp.text.Document document = new iTextSharp.text.Document();
PdfWriter.GetInstance(document, new FileStream(@"C:\gorsel.pdf", FileMode.Create));
string text = "küçük harf türkçe karakterler : ç ğ ı ö ş ü \n" +
" BÜYÜK TÜRKÇE KARAKTERLER : Ç Ğ İ Ö Ş Ü";
c.Append(text);
document.Open();
document.Add(new Paragraph(c));
document.Close();
现在我可以使用PDF文件中的所有特殊字符。