Включить шрифт.ttf в pdf, созданный с помощью Flying Saucer и Spring-Boot
Мне удалось создать PDF с включенным шрифтом.ttf, только если я указал абсолютный путь в index.html следующим образом:
@font-face {
font-family: Asap-Regular;
src: url("/home/user/Desktop/Asap-Regular.ttf");
-fs-pdf-font-embed: embed;
-fs-pdf-font-encoding: Identity-H;
}
Я пытаюсь добиться интеграции шрифта.ttf как относительного пути. Я также пытался интегрировать из кода Java, как это:
renderer.getFontResolver().addFont(("path/Asap-Bold.ttf"),
"Asap-Bold", "Identity-H", true, null);
и это не сработало...
1 ответ
Решение
После отладки Летающей тарелки через некоторое время кажется, что:
_sharedContext.setBaseURL(url);
это должно указывать на путь к файлу.ttf (в моем случае это был каталог ресурсов). Чтобы установить URL из sharedContext, вам нужно позвонить:
renderer.setDocumentFromString(html, String.valueOf(resourceLoader.getResource("classpath:fonts/").getURI()));