Я пытаюсь преобразовать некоторый html контент в pdf, используя itext PdfWriter, например:
Document document = new Document();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PdfWriter writer = PdfWriter.getInstance(document, outputStream);
document.open();
InputStream stream = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8));
XMLWorkerHelper.getInstance().parseXHtml(writer, document, stream, Charset.forName("UTF-8"));
document.close();
, но в сгенерированном pdf отсутствуют символы ă ș ț. Я попытался установить кодировку или шрифт, но безуспешно. Я попытался использовать поставщик шрифтов и установить его в качестве параметра для метода parseX Html.
Я установил кодировку, но ничего не изменилось.
XMLWorkerFontProvider fontProvider = new XMLWorkerFontProvider();
fontProvider.setUseUnicode(true);
fontProvider.defaultEncoding = BaseFont.CP1257;
Я также пытался установить шрифт, но он не был применен к pdf.
XMLWorkerFontProvider fontProvider = new XMLWorkerFontProvider(XMLWorkerFontProvider.DONTLOOKFORFONTS);
fontProvider.register(PATH_TO_TTF_FONT_FILE_HOSTED_ON_S3);
А затем установить параметр для parseX Html.
XMLWorkerHelper.getInstance().parseXHtml(writer, document, stream, Charset.forName("UTF-8"), fontProvider);
Можно ли как-нибудь использовать PdfWriter для правильного преобразования всех символов из html в pdf?