SwoDs
@SwoDs
PHP YII2

Не отображается русский текст в превью PDF. Что делать?

Добрый вечер.
Для заполнения пдф формы использую iText+PHP
Есть несколько анкет которые нужно заполнять, анкеты в которых поля проставили ручками все хорошо, а вот анкеты где поля сгенерированные адобом не виден русский шрифт в превью, если поле добавить руками убрав все настройки (проверка ошибок текста, полосы прокрутки) то виден.
с англ. все ок.

превью - joxi.ru/DrlNxRJuMxJq2P
при клике - joxi.ru/eAOl8GgFyD7Mro

Как сделать что отображался всегда?
  • Вопрос задан
  • 1671 просмотр
Решения вопроса 1
@MIKEk8
в iText надо добавить
BaseFont times = BaseFont.createFont("times.ttf","cp1251",BaseFont.EMBEDDED);
Paragraph p=new Paragraph("чета там",new Font(times,14));

Либо если вы объединяете xfdf с pdf при помощи iText. То вот так:
//args[0]="исходный pdf"
//args[1]="результирующий pdf"
//args[0]="имя xfdf файла"
PdfReader pdfreader = new PdfReader(args[1]);
PdfStamper stamp = new PdfStamper(pdfreader, new FileOutputStream(args[0]));
XfdfReader fdfreader = new XfdfReader(args[2]);
AcroFields form = stamp.getAcroFields();
BaseFont times = BaseFont.createFont("times.ttf","cp1251",BaseFont.EMBEDDED);
form.addSubstitutionFont(times);
form.setFields(fdfreader);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы