Есть три типа форм в PDF:
- форм с использованием технологии AcroForm. В этом случае каждое поле соответствует одному или нескольким виджетам с фиксированными позициями на определенных страницах. Форма описывается с использованием только синтаксиса PDF.
- Динамические формы с использованием архитектуры XML-форм (XFA). В этом случае файл PDF - это не что иное, как контейнер XML-файла, который описывает всю форму. Мы называем это динамическим XFA, потому что форма может расширяться или сокращаться на основе добавленных данных: форма из 1 страницы может превратиться в 100-страничную форму, добавив больше данных.
- Гибридные формы, которые сочетают технологию AcroForm и XFA. В этом случае форма описывается дважды: один раз с использованием PDF-объектов; после использования XML. Очевидно, что такая форма не является динамической: часть AcroForm по-прежнему определяет аннотации виджетов, которые определены в абсолютных положениях на определенных страницах. Форма не может адаптироваться к ее данным.
Если у вас есть динамической формы РФА, сбросив XML удалит законченную форму. Больше ничего не останется.
Однако, похоже, что вы столкнулись с гибридной формой, которая состоит из синтаксиса AcroForm и XFA. Гибридные формы - это боль, потому что они часто приводят к путанице. Например: зритель, который не осведомлен о XFA, покажет вам данные, хранящиеся в AcroForm. Зритель, который знает XFA, может отдать предпочтение данным, хранящимся в форме XFA. В чем проблема, вы можете спросить? Не эквивалентны ли обе формы?
В идеале оба варианта формы действительно эквивалентны, но:
- Если форма не заполнена правильно, AcroForm может отличаться от формы РФА.
- У XFA больше функциональности, чем технология AcroForm. Например: текстовое поле в форме XFA может быть обосновано (аналогично
<p align="justify">
в HTML). Однако этот параметр не существует в текстовом поле AcroForm (вы можете иметь только выравнивание влево, в центре или вправо). Следовательно, если у вас есть текст, который оправдан в форме XFA, но вы смотрите только на AcroForm, тогда текст не будет оправдан (поскольку в текстовом поле AcroForm не существует оправданного текста).
Это длинный ответ, чтобы объяснить, что, если у вас есть гибридная форма, это в большинстве случаев OK, чтобы выбросить часть РФА. У вас могут быть небольшие различия, но если вы в порядке с тем, как выглядит форма в Ubuntu Document Viewer (зрителе, который не поддерживает XFA), тогда все должно быть в порядке.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я генеральный директор iText Group. Pdftk - сторонний инструмент, основанный на устаревшей и более не поддерживаемой версии iText. iText Group не поддерживает использование Pdftk.
Эй, Бруно, большое спасибо за объяснение. Я использую PDFTK, потому что альтернатива, которую я нашел, - это setasign или что-то подобное, и их запрашиваемая цена для приложения заполняющей формы слишком велика. Не нашли другого открытого источника или нет, что дорогостоящие альтернативы для использования. Вы знаете о 1 или 2, о которых я не знаю? Заранее спасибо. – Unknown
SO не следует использовать для вопросов, требующих рекомендации инструмента, библиотеки, ... поэтому ваш вопрос должен оставаться без ответа. –
Хорошо. Благодарю. – Unknown