В созданном файле PDF отсутствуют символы на турецком языке - PullRequest
0 голосов
/ 29 апреля 2018

Что ж, я пытаюсь экспортировать некоторые данные из моего приложения 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();

Итак, где моя ошибка?

1 Ответ

0 голосов
/ 01 мая 2018

после попыток я нашел ответ;

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...