Летающая тарелка не загружает шрифт из googleapis шрифта css в PDF - PullRequest
0 голосов
/ 08 июня 2018

Я не хочу загружать шрифты в каталог моего проекта.

Для веб-сайта я загружаю шрифты из googleapis, и это хорошо работает.

Теперь, когда я генерирую PDFЯ добавил шрифт в стиле, и он не загружается.

Вот мой код:

@font-face {
  font-family: 'Hind Siliguri';
  src: url(https://fonts.gstatic.com/s/hindsiliguri/v4/ijwTs5juQtsyLLR5jN4cxBEoTI7ax8s3JimW3w.woff2);
  -fs-pdf-font-embed: embed;
  -fs-pdf-font-encoding: Identity-H;
}

Мой первый вопрос: летающая тарелка поддерживает только .ttf форматировать шрифты?

Как я могу управлять CSS с моими текущими шрифтами?

Требуется ли добавить fontResolver.addFont () в коде JAVA?

TIA!

1 Ответ

0 голосов
/ 08 июня 2018

Летающая тарелка основана на устаревшей версии iText (на самом деле, версия, которая больше не должна использоваться в коммерческих приложениях ).Само собой разумеется, что авторы iText не поддерживают Flying Saucer.

Старая версия iText, используемая Flying Saucer, не поддерживает шрифты Web Open Font Format (WOFF).Поддержка таких шрифтов была представлена ​​только в iText 7. iText 7 поставляется с надстройкой pdfHTML , которая может использоваться для преобразования HTML в PDF;см. HTML в PDF учебник для получения дополнительной информации.Если вы перейдете к главе 6 этого руководства, вы найдете несколько примеров, связанных со шрифтами WOFF.

Например, если у вас есть это в вашем файле CSS:

@font-face {
    font-family: "SourceSerifPro-Regular";
    src: url("fonts/SourceSerifPro-Regular.otf.woff") format("woff");
}
.regular {
    font-family: "SourceSerifPro-Regular";
}

Вы можете иметь следующий HTML-код:

<td class="regular">quick brown fox jumps over the lazy dog</td>

В этом случае просто используйте этот код:

public void createPdf(String src, String dest) throws IOException {
    HtmlConverter.convertToPdf(new File(src), new File(dest));
}

И соответствующие шрифты будут загружены.Пожалуйста, примите во внимание, что процесс преобразования HTML в PDF рискует быть медленным при использовании этого подхода.Шрифты загружаются по сети, что обычно замедляет работу.

...