Конвертация docx в pdf через Apache POI
Задача такая, нужно создать печатную форму, поля заменить на нужные данные и сконвертировать в pdf формат. Замена текста и сохранение в формате docx происходит корректно. Но когда я запускаю:
PdfConverter.getInstance().convert(document, outputStream, pdfOptions);
То поля которые были заменены, они отсутствуют в pdf файле.. Поля в форме заносятся в форму для текса (фигуру), на фото видно. Если вставлять в обычный текст то замена проходит корректно.
Думаю, что нужно как то настроить PdfOptions, но пока нет вариантов как это сделать.. Если у кого то была такая проблема и есть предложения что можно попробовать сделать, буду рад за помощь))
Код который конвертируют готовую форму:
InputStream inputStream = ByteSource.wrap(printFileDTO.getContent()).openStream();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PdfOptions pdfOptions = PdfOptions.create();
pdfOptions.fontProvider((familyName, encoding, size, style, color) -> {
try {
BaseFont baseFont =
BaseFont.createFont(TNR, encoding, BaseFont.EMBEDDED);
return new Font(baseFont, size, style, color);
} catch (Exception e) {
throw new RuntimeException(e);
}
});
XWPFDocument document = new XWPFDocument(inputStream);
PdfConverter.getInstance().convert(document, outputStream, pdfOptions);
Кусок заполненной формы:
Источник: Stack Overflow на русском