2016-10-27 5 views
0

У нас есть требование от судов представить PDF-файлы, в которые встроены данные в формате xml. Таким образом, xml находится в форме XFA в PDF.Нужно добавить xml как XFA в отчет Jasper, созданный pdf

Мы генерируем наш PDF-отчет из отчетов Jasper, а затем генерируем xml, который хотим добавить. Созданный PDF из отчетов Jasper не имеет формы XFA, чтобы начать импортировать xml в.

Как получить PDF-файл для создания XFA-формы, чтобы я мог добавить к нему xml данных?

+1

XFA будет устаревшим в PDF 2.0 (ISO-32000-2), который будет выпущен в 2017 году. JasperReports не поддерживает XFA; AFAIK, PdfBox также не поддерживает XFA. iText поддерживает XFA в том смысле, что он позволяет вставлять поток XFA в существующий шаблон, и вы можете использовать XFA Worker для сглаживания этого шаблона. Вы можете создать шаблон XFA с помощью Adobe LiveCycle Designer и заполнить этот шаблон iText. Вы не можете создать шаблон XFA с JasperReports. Я думаю, вы используете неправильные инструменты. BTW: iText разрабатывает альтернативу для XFA. Вы можете связаться с нами. –

+0

Спасибо @BrunoLowagie Мне жаль, что мы не можем использовать XFA, но это не в наших руках. Я оставил ответ, где у меня есть интерактивный PDF, который я могу передать нашему XML и заполнить форму. – user1567291

+1

Можете ли вы дать ссылку на точное постановление, заставляющее вас использовать XFA? – mkl

ответ

2

Thanks @BrunoLowagie К сожалению, формат/правила того, что мы можем использовать, из наших рук. PDF-файл определяется судами США. Но сотрудник смог получить мне копию PDF из системы судов США, которая является «интерактивной» формой, которая является XFA, поэтому я смог получить данные в форме со всей замечательной работой, которую вы, ребята, сделали с iText.

Использование следующего кода. Все получили от вашей великой книги.

AcroFields form = stamper.getAcroFields(); 
XfaForm xfa = form.getXfa(); 
xfa.fillXfaForm(new ByteArrayInputStream(xmlSchemaStream.toByteArray())); 

Для тех, кто читает это в будущем. Если вы хотите добавить XFA в свой PDF через код Java, ТОЛЬКО текущее решение - это Adobe LifeCycle, которое само приложение доступно ТОЛЬКО в Windows, и вы должны установить его, чтобы использовать файлы jar. ОН, подождите, он станет еще лучше, вы включаете файлы клиента jar в свое приложение. Это означает, что, как вы уже догадались, вам нужно установить приложение Server и запустить его в JBoss, Weblogic или Websphere.

Так что в конечном итоге это будет стоить слишком много денег, чтобы настроить, управлять и поддерживать что-то столь же глупо, как добавление формы XFA в ваш PDF.

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