Pdfa с xfa и iText

У нас есть форма в формате pdf с инициализацией xfa.

Я беру и сохраняю данные xfa локально в файл xml.

<?xml version="1.0" encoding="UTF-8"?><xfa:data xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
<form1>
<Name>J Motiwala</Name>
<Title>Senior Software Engineer</Title>
<Deptartment>development</Deptartment>
<Phone>678-751-9448</Phone>
<Date>2017-03-10</Date>
<DateNeeded>2017-03-10</DateNeeded>
<Reason>Training course</Reason>
<Payee>Safari</Payee>
<Amount>125.00000000</Amount>
<Date/>
<DateNeeded/>
<Reason/>
<Payee/>
<Amount/>
<Date/>
<DateNeeded/>
<Reason/>
<Payee/>
<Amount/>
<Date/>
<DateNeeded/>
<Reason/>
<Payee/>
<Amount/>
<Date/>
<DateNeeded/>
<Reason/>
<Payee/>
<Amount/>
<Date/>
<DateNeeded/>
<Reason/>
<Payee/>
<Amount/>
<DeliveryInstructions>please send a cheque</DeliveryInstructions>
<Comments>training needed asap</Comments>
<AmountPaid/>
<CheckNo/>
<DateReceived/>
</form1>
</xfa:data>

Теперь возможно, что это также может быть

<?xml version="1.0" encoding="UTF-8"?><xfa:data xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/"/>

Мой вопрос: если тег form1 является стандартным тегом xfa, я не смог найти никакой документации, в которой говорится, что это так.

Мой вопрос: если тег form1 не найден, могу ли я сгенерировать его с помощью кода и просто обновить xml?

Также тег может называться как угодно, кроме form1.


person Zoharat    schedule 10.03.2017    source источник
comment
Как ваш вопрос связан с itext?   -  person mkl    schedule 11.03.2017


Ответы (1)


<form1> не является стандартным XFA. В XFA дизайнер формы может использовать любой XSD для <xfa:data>. Это преимущество XFA; людям не нужно адаптировать свои данные к форме. Обычно в XFA XML также хранится часть описания данных. Синтаксис этого описания чем-то похож на XSD, но это не так.

Если у вас есть существующий PDF-файл, вы не можете просто «изобретать» новые теги, потому что существует привязка данных между именами тегов и именами полей. Если вы введете тег, который не известен форме, соответствующие данные не будут отображаться нигде в форме.

person Bruno Lowagie    schedule 11.03.2017
comment
Спасибо Бруно. В связи с этим, iText теперь поддерживает заполнение списков с помощью xfa. Я не смог найти пример кода для него в iText. - person Zoharat; 14.03.2017