Thanks.
In the mean time I partially resolved using a PdfWriter instead of PdfStamper. I resume my purpose: what I'm trying to do is a PDF document obtained filling the form fields and, at the end, adding a submit button which submits the entire document.
The resulting document must be signed by the end user.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PdfReader filledTemplateReader = new PdfReader(new ByteArrayInputStream(filledTemplateOutputStream.toByteArray()));
Document outputDocument = new Document(filledTemplateReader.getPageSize(1));
setupResponse(response, nomeFile);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
outputWriter = PdfWriter.getInstance(outputDocument, outputStream);
outputDocument.open();
PdfContentByte directContent = outputWriter.getDirectContent();
for (int i = 1; i < filledTemplateReader.getNumberOfPages(); i++) {
   outputDocument.newPage();
PdfImportedPage page = outputWriter.getImportedPage(filledTemplateReader, i);
   directContent.addTemplate(page, 0, 0);
   if (i == 1) {
       addSubmitButton(outputWriter);
       addJavascript(outputWriter);
    }
}
outputDocument.close();
writeToResponse(response, outputStream);
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Greetings
   Andrea


Patrick Lee wrote:

I had a similar problem. Here's the high level code of
how I got around it... we're serving the pdfs out
through a bog standard servlet.

ServletOutputStream out = resp.getOutputStream();
ByteArrayOutputStream baos = new
ByteArrayOutputStream();
PdfReader inputPDF = new PdfReader(docBytes);                   
PdfStamper stamp = new PdfStamper(inputPDF, baos);
PdfWriter writer = stamp.getWriter();
writer.setViewerPreferences(PdfWriter.HideMenubar | PdfWriter.PageModeUseNone|PdfWriter.CenterWindow
|PdfWriter.NonFullScreenPageModeUseNone);
String nextIdList = calculateNextIdList(ids);           
getButtonCreator().createEditButtons(inputPDF, writer,
stamp, nextIdList, String.valueOf(ids[0]));
getDocumentHelper().populatePreviouslySavedValues(ids[0],
stamp, true);
stamp.close();                  
resp.setContentLength(baos.size());
resp.setContentType("application/pdf");
out.write(baos.toByteArray());
resp.flushBuffer();     
out.flush();    
out.close();                            


Hope this helps.... my
getButtonCreator().createEditButtons does the actual
drawing of the buttons.

begin:vcard
fn:Andrea Fantechi
n:Fantechi;Andrea
org:Infogroup S.p.A.;Internet Technology
adr:;;Via delle Panche 140;Firenze;FI;50141;ITALY
email;internet:[EMAIL PROTECTED]
tel;work:055-4365902
tel;cell:335-7815876
x-mozilla-html:TRUE
url:http://www.infogroup.it
version:2.1
end:vcard

Reply via email to