Создание PDF из HTML с ITEXT, летающая тарелка с азиатскими символами - PullRequest
0 голосов
/ 08 июля 2020

Я хочу преобразовать файл HTML в PDF. Файл находится в кодировке UTF-8 и содержит фактические символы на соответствующем языке, например японском или корейском. Эти символы отображаются правильно при просмотре в браузере.

Когда я пытаюсь преобразовать в PDF с помощью IText 2.x и Flying Saucer (версия 9.x) с определенными шрифтами, я не получаю азиатский символы в PDF. Я даже попробовал Open PDF с теми же результатами.

Я использовал азиатские c шрифты, доступные на fonts.google.com (вы можете фильтровать по языку). Некоторые семейства шрифтов имеют только один вес, в то время как другие семейства имеют несколько весов. Работают только семейства шрифтов с одним весом. Остальные не работают. И я не знаю почему. Я даже попытался добавить начертание шрифта к стилям CSS, но это не имело значения.

Возможно, у кого-то есть идея, в чем может быть проблема? Любой намек подойдет для дальнейшего изучения.

Код для создания файла PDF выглядит следующим образом:

ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(new File(pathToHtmlFile).toURI().toString());
renderer.getFontResolver().addFont("SawarabiMincho-Regular.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
renderer.layout();
renderer.createPDF(outputStream);

А в HTML у меня будут стили например:

html {
  font-family: "Nanum Gothic", sans-serif;
  font-weight: normal;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...