Включить шрифт.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()));
Другие вопросы по тегам