• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Pdf, Itext И Шрифт

Статус
Закрыто для дальнейших ответов.

savl

Lotus Team
28.10.2011
2 597
310
BIT
181
Есть PDF-шаблон с полями, которые можно заполнить.
Поля заполняются кодом из Lotus. Все хорошо, даже русский шрифт отображается.
Но есть проблема:
В PDF должен быть особый шрифт, я его подключил. Кириллица отображается корректно, а вот текст на английском и цифры отображаются другим шрифтом. Шрифт применяется ко всем полям сразу, шрифт встраивается в PDF, у полей изначально стоит такой шрифт.
Подключаю шрифт вот так:
C++:
AcroFields form = stamper.getAcroFields();
final BaseFont bf = BaseFont.createFont(fontpath, "Cp1251", BaseFont.EMBEDDED,true);//BaseFont.IDENTITY_H
form.addSubstitutionFont(bf);
Пробовал так же вот такой вариант:
C++:
AcroFields form = stamper.getAcroFields();
final BaseFont bf = BaseFont.createFont(fontpath, "Cp1251", BaseFont.EMBEDDED,true);//BaseFont.IDENTITY_H
ArrayList fl = new ArrayList();
fl.add(bf);
form.setSubstitutionFonts(fl);
результат никакой :( может кто сталкивался.
Почему шрифт различается?
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
181
Проблема решена.
для каждого поля в PDF, после заполнения делаю:
C++:
form.setFieldProperty(fldName, "textfont", bf, null);
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!