salve a tutti!!
ho una servlet nella quale ho inserito il codice per l'apertura di un file pdf utilizzando la libreria itext. ora il file pdf che apro contiene dei form. Tramite itext riesco a mettere un pulsante submit e mandare le informazioni dei vari campi al server.
Ora vorrei mettere il pulsante all'esterno del file pdf ossia nell'iframe (nella pagina HTML) che lo contiene. Non so come fare a collegare il pulsante esterno con i campi contenuti all'interno del form.
da questo sito ho preso lo spunto per mettere gli altri bottoni e ma non sono riuscito a gestire quello save![]()
adobe tutorial
Altro problema che incontro con itext quando vado a inserire il codice dinamicamente all'interno del file i pulsanti non vengono gestiti!!
sono un bel po' di file e non partirebbero da soli vediamo se metto solo la parte di codice più importante:
servlet:
io poi ho aggiunto il codice adobe javascript all'interno della pagina con il seguente comando:codice:InputStream is= getServletContext().getResourceAsStream("/subscribe.pdf"); PdfReader reader = new PdfReader(is, null); ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfStamper stamper = new PdfStamper(reader, baos); PushbuttonField button = new PushbuttonField( stamper.getWriter(), new Rectangle(90, 660, 140, 690), "submit"); button.setText("POST"); button.setBackgroundColor(new GrayColor(0.7f)); button.setVisibility(PushbuttonField.VISIBLE_BUT_DOES_NOT_PRINT); PdfFormField submit = button.getField(); submit.setAction(PdfAction.createSubmitForm("localhost:8080/book/fdf", null, PdfAction.SUBMIT_EXCL_F_KEY)); stamper.addAnnotation(submit, 1); stamper.close(); OutputStream os = response.getOutputStream(); baos.writeTo(os); os.flush();
il codice è quello trovato nell'esempio con in più la funzione save() personalizzata che non funziona.codice:stamper.addJavaScript(Utilities.readFileToString(RESOURCE));
Il problema è che quando lo metto il codice javascript con adobe pro funziona. se lo metto dinamicamente con itext i pulsanti non funziona più. qualcuno potrebbe aiutarmi?

Rispondi quotando

