@bishounen01
Веб-программист

Русские символы при генерации pdf iTextSharp?

Есть проект asp.net mvc, одна функция которого должна генерировать PDF файл с данными из БД. Для решения этого вопроса был установлен nuget пакет iTextSharp 5.5. При кодинге стало ясно, что кириллицу генератор не показывает? Изучив 1-2 страницы гугл на предмет решения этой проблемы, стало понятно, что код типа
BaseFont baseFont = BaseFont.CreateFont("c:/Windows/Fonts/arial.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
var font = new iTextSharp.text.Font(baseFont, 14, iTextSharp.text.Font.NORMAL, BaseColor.BLACK);

выводит какие-то кракозябры и в итоге не решает проблему. Как ее можно решить?
  • Вопрос задан
  • 2214 просмотров
Решения вопроса 1
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
    Document doc = new Document(PageSize.A4, 30f, 30f, 30f, 30f);
    PdfWriter writer = PdfWriter.GetInstance(doc, ms);
    doc.Open();

    BaseFont baseFont = BaseFont.CreateFont("C:\\Windows\\Fonts\\arial.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

     //Заголовок 
     PdfContentByte cb = writer.DirectContent;
     cb.Rectangle(10f, 10f, doc.PageSize.Width - 20f, doc.PageSize.Height - 20f);
     cb.SetFontAndSize(baseFont, 13);
     cb.BeginText();
     cb.ShowTextAligned(
     PdfContentByte.ALIGN_CENTER, "Отчёт", 300f,  doc.PageSize.Height - 30f, 0);

     cb.EndText();
     cb.Stroke();
     doc.Close();
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы