Adobe Acrobat - Interactuar entre pdf embebido y pagina html

 
Vista:

Interactuar entre pdf embebido y pagina html

Publicado por Oscar Arias (2 intervenciones) el 09/12/2009 17:24:59
Hola, estoy realizando una aplicacion web con servlets que me muestra una ventana y metido en un iframe un pdf (via adobe plugin). Preciso que, cuando se efectue la presion de un boton de la barra de adobe se pueda llamar a un metodo javascript definido en la pagina html que lo contiene.
La idea es que, en el servlet lea el pdf, y "on the fly" le adose los contenidos javascript necesarios y se lo pase a la ventana.

Algo de codigo:

reader = new PdfReader(in);
stamp = new PdfStamper(reader, baosTemp);
stamp.getWriter().addJavaScript(
"function setReadOnly(readonly) {"
+ "var partner = this.getField('partner');"
+ "if(readonly) {"
+ "partner.value = '';"
+ "}"
+ "partner.readonly = readonly;"
+" }"
+ "function save(){"
+ " app.alert('save presionado 3');"
+ " alertar();"
+ "}"
+ "function validate() {"
+ "var married = this.getField('married');"
+ "var partner = this.getField('partner');"
+ "if (married.value == 'yes' && partner.value == '') {"
+ "app.alert('please enter the name of your partner');"
+ "}"
+ "else {"
+ "this.submitForm({"
+ " cURL:\"http://1t3xt.info/examples/request.php\","
+ " cSubmitAs: \"HTML\""
+ "});"
+ "}"
+" }" );

PushbuttonField saveAs = new PushbuttonField(stamp.getWriter(), new Rectangle(40, 760, 100, 780), "Save");
saveAs.setBorderColor(Color.BLACK);
saveAs.setText("Grabar....");
saveAs.setTextColor(Color.RED);
saveAs.setLayout(PushbuttonField.LAYOUT_LABEL_ONLY);
saveAs.setOptions(PushbuttonField.VISIBLE_BUT_DOES_NOT_PRINT);
PdfFormField validateAndSubmit = saveAs.getField();
validateAndSubmit.setAction(PdfAction.javaScript("save();", stamp.getWriter()));
stamp.addAnnotation(validateAndSubmit, 1);

Este codigo mete un botoncito en la pantalla y al clickearlo llama a la funcion save() que abre un popup. Pero desde dentro del objeto documento, pues no me efectua el llamado a la funcion alertar() definida en la pagina html.

Alguien podria darme una mano con el codigo para hacer esto?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder