2016-12-30 7 views
0

У меня есть статический XFA PDF, который я хочу программно заполнить. Я могу использовать метод Xfa.FillXfaForm(), и это хорошо работает для обновления DOM Dataset DOM. Тем не менее, он не обновляет соответствующие аннотации полей Acroform (форма Static XFA имеет как форму XFA, так и Acroform внутри нее). Средство, совместимое с XFA, будет собирать и читать XML Dataset Dom, однако многие обработчики, такие как Google Chrome и Firefox, игнорируют словарь XFA, что означает, что форма не заполняется там. Есть ли способ для iText синхронизировать элементы формы Acroform и XFA в статической форме? Я использую iTextSharp 5.Заполнение статического XFA PDF с помощью iText

ответ

1

Мой ответ и лучший совет были бы ... Не надо!

Если вы используете статический XFA и вашей главной заботой является, чтобы отобразить его последовательно в не Adobe зрителей и у вас есть доступ к достойному инструмент библиотеки как IText, вы на самом деле лучше отключить словарь XFA из PDF и просто иметь дело с полями AcroForm. После того, как вы узнаете о не-XFA, а зрители, осведомленные о XFA, касаются PDF, решение о том, какой набор данных является правильным, является проблематичным, а значения полей или внешний вид могут выйти из строя. Любые скрипты FormCalc и расширяющиеся поля не будут обрабатываться должным образом не-XFA-зрителями, поэтому нет никакого преимущества в том, чтобы часть XFA вообще отсутствовала.

Во время этого процесса вы можете создать карту между именами XML и именами полей AcroForm и сохранить их в метаданных документа, чтобы ваше приложение могло легко заполнить форму так, как если бы оно все еще было XFA, но вам не понадобилось бы беспокоиться о синхронизации данных с двумя совершенно разными и несовместимыми формами технологий в одном PDF-файле. (Честно говоря, я хотел бы знать, кто думал, что это была хорошая идея, в первую очередь)

Смежные вопросы