Есть собственный TTF шрифт, установленный в систему.
MS Word и LibreOffice его видят и можно назначить его тексту.
Если создать отчет с шаблоном DOCX и с использованием этого шрифта, то при выводе в PDF шрифт не находится - получается “##########################”, а журнале сообщения:
org.docx4j.fonts.IdentityPlusMapper : - - No physical font for: My font
org.docx4j.fonts.RunFontSelector : Font 'My font' is not mapped to a physical font.
Если использовать штатные виндовые шрифты (Arial, Calibri, Symbols, …), то текст отображается нормально.
Скажите, пожалуйста, куда еще подложить шрифт или какую настройку еще можно сделать?
А по-моему не все шрифты можно в PDF вставить. В свойствах PDF файла ваш шрифт присутствует? Т.е. может быть он там есть, но не отображается по каким-нибудь лицензионным ограничениям. Или при генерации PDF должно в какой-нибудь лог поругаться, что этот шрифт нельзя использовать. Но это всё не точно…
Да, не все можно вставить. doc4j отбрасывает часть шрифтов, установленных в системе при составлении хэша. В моем случае, шрифты не отбрасываются, а добавляются в хэш, но название в хэше не соответствует названию в документе.
На форумах есть примеры, как использовать это шрифт, но поскольку, doc4j завернут в jmix, то надо искать какой-то еще способ, чтобы пробравшись сквозь недра jmix каким-то образом заставить doc4j использовать нужный шрифт.
Может можно как-то переключить генерацию DOCX в PDF не через doc4j, а через Либру?
@krivopustov Константин, спасибо! Этот вариант работает.
Также мне удалось заставить работать и doc4j.
При запуске приложения (т.е. до первого запуска отчета) разместил код: