2015-04-14 4 views
2

Есть ли какие-либо проблемы, связанные с удалением формата XFA из формы PDF? Я использую PDFTK для заполнения формы и обнаружил, что если формы XFA, то PDFTK не работает, если я сначала не сделаю команду drop_xfa, чтобы создать новую форму шаблона. Одна вещь, которую я заметил, это то, что если бы я не делал drop_xfa, я мог бы видеть поля, предварительно заполненные в Acrobat Reader, но не Acrobat Pro. Другие виды, такие как Ubuntu Document Viewer, будут в порядке. Я не против делать drop_xfa, но просто проверяю, могут ли быть проблемы с тем, что я делаю это с формами, о которых я не знаю.PDFTK и удаление формата XFA

Пример: если форма заполнена и она должна быть прочитана в системе для захвата полей/значений для обработки.

Заранее спасибо.

ответ

2

Есть три типа форм в 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.

+0

Эй, Бруно, большое спасибо за объяснение. Я использую PDFTK, потому что альтернатива, которую я нашел, - это setasign или что-то подобное, и их запрашиваемая цена для приложения заполняющей формы слишком велика. Не нашли другого открытого источника или нет, что дорогостоящие альтернативы для использования. Вы знаете о 1 или 2, о которых я не знаю? Заранее спасибо. – Unknown

+0

SO не следует использовать для вопросов, требующих рекомендации инструмента, библиотеки, ... поэтому ваш вопрос должен оставаться без ответа. –

+0

Хорошо. Благодарю. – Unknown