Конвертация docx в pdf через Apache POI

Рейтинг: 0Ответов: 0Опубликовано: 31.01.2023

Задача такая, нужно создать печатную форму, поля заменить на нужные данные и сконвертировать в 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);

Кусок заполненной формы:

Кусок заполненной формы

Ответы

Ответов пока нет.