ă ș ț символы отсутствуют в pdf, сгенерированном из html с помощью PdfWriter - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь преобразовать некоторый 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?

...