Для Apache Pdfbox API я использую шрифт Unicode с именем Arial Unicode MS, чтобы установить значение для поля формы PDF. < /p>
PDFont unicodeFont = null;
// Get Unicode font for signing the non english languages in pdf
try (InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream("ARIALUNI.TTF")) {
unicodeFont = PDType0Font.load(document, stream);
PDResources resources = getPDResources(form);
resources.put(COSName.getPDFName(unicodeFont.getName()), unicodeFont);
form.setDefaultResources(resources);
}
textField.setDefaultAppearance(String.format("/%s 9 Tf 0.32 0.32 0.32 rg", unicodeFont.getName()));
textField.setValue(content);
< /code>
Но для не английских персонажей, таких как китайский или иврит, контент отображается как искаженная текст. Содержание отображается правильно в Mac OS, но искаженные тексты в Windows. Я использовал программное обеспечение Adobe Reader. Похоже, у Windows нет шрифта Arial Unicode MS по умолчанию. Но мой код делает этот шрифт как встроенный шрифт. Но это не работает. Как я могу решить проблему?>
Подробнее здесь: https://stackoverflow.com/questions/797 ... rbled-text