Поля формы копирования iText

Есть ли способ в iText скопировать просто поля акроформы PDF из одного документа PDF в другой документ PDF? У меня есть код для копирования всего PDF-файла, но я хотел бы иметь возможность наложить все свои поля на новый / обновленный PDF-документ.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
2 678
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я не очень хорошо помню, смогли ли мы этого добиться, поскольку я не работал напрямую над реализацией, но я помню, как некоторое время назад кто-то указывал в этом направлении.

Вы можете использовать PdfStamper для извлечения полей из acroForm, а затем использовать PdfWriter для создания новой AcroForm с предварительно заполненными полями. Хотел бы я привести вам лучший пример, но у меня нет кода с собой.

Милхаус, не могли бы вы опубликовать решение, если бы вы смогли его понять. Мне тоже любопытно узнать.

Deep Kapadia 12.01.2009 23:48
Ответ принят как подходящий
public void replaceBackground(String newBackground, String CurrentForm, String newFile) throws Exception
        {
            PdfReader reader = new PdfReader(newBackground);
            PdfReader reader2 = new PdfReader(CurrentForm);
            PdfStamper stamp = new PdfStamper(reader2, new FileOutputStream(newFile));
            stamp.replacePage(reader, 1, 1);
            stamp.close();
        }

Другие вопросы по теме