2013-10-08 5 views
0

У меня есть PDF, который содержит форму, которая должна заполняться пользователями, которые передают представленные данные в базу данных. Например, он содержит поля имени, возраста и комментариев. Пользователь заполняет эту форму и нажимает кнопку «POST» в PDF-файле.Передача данных формы из PDF в сервлет в iText

Код для кнопки POST Дано:

PushbuttonField button1 = new PushbuttonField(
     stamper.getWriter(), new Rectangle(90, 660, 140, 690), "post"); 
button1.setText("PDFPOST"); 
button1.setBackgroundColor(new GrayColor(0.7f)); 
button1.setVisibility(PushbuttonField.VISIBLE_BUT_DOES_NOT_PRINT); 
PdfFormField submit1 = button1.getField(); 
submit1.setAction(PdfAction.createSubmitForm(
     "http://192.168.1.136:8085/LogFileExampleProject/PdfService", null, 
     PdfAction.SUBMIT_PDF)); 
// add the button 
stamper.addAnnotation(submit1, 1); 

Однако, когда кнопка POST нажата после того, как пользователь заполнил форму в формате PDF, он устанавливает соединение с URI, указанный в createSubmitForm , но не передает никаких параметров TextField. Как я могу это сделать?

ответ

1

Как указано, опция SUBMIT_PDF работает только в том случае, если на стороне клиента имеется Adobe Acrobat (это одно из ограничений, накладываемых Adobe на Adobe Reader). Как вы хотите получать данные? Как строка запроса HTML (SUBMIT_HTML_FORMAT), как FDF (по умолчанию), или как XFDF (SUBMIT_XFDF)?

+0

В качестве строки запроса HTML было бы здорово, но мой сервлет, похоже, не получает никаких данных из 'GET' или' POST'. – vigneshwerv

+0

Это меня удивило бы. Используйте этот сервлет: http://itextpdf.com/examples/iia.php?id=169 Это не делает много, он просто показывает, какие данные были отправлены на сервер. Также: какой просмотрщик PDF вы используете? Конечно, вы говорите о Adobe Reader, а не о чем-то вроде Preview, не так ли? –

+0

Я пробовал это в Google Chrome с помощью PDF, просматриваемого в браузере. Должен ли я попробовать его с помощью Adobe Reader? – vigneshwerv

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