• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Pdf, Itext И Шрифт

  • Автор темы Автор темы savl
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

savl

Lotus Team
28.10.2011
2 640
315
Есть 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);
результат никакой :( может кто сталкивался.
Почему шрифт различается?
 
Проблема решена.
для каждого поля в PDF, после заполнения делаю:
C++:
form.setFieldProperty(fldName, "textfont", bf, null);
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab