iText y servlet
Buen dia, primero que nada muchas Gracias por JAVA Mexico, un excelente apoyo a novatos y expertos :]
Pues bien, mi duda es la siguiente:
Mediante la API iText lleno un formulario en PDF (que ya existe)
con datos que ingresa el usuario y algunos de mi base de datos,
todo va bien pero necesito mostrarlo en un servlet para que el usuario lo imprima o lo guarde.
Logro generar el archivo pero no que se vea en el browser,
Mi codigo es el siguiente:
PdfReader reader = null;
RandomAccessFileOrArray letter;
ByteArrayOutputStream baos;
PdfStamper stamper;
try{
letter = new RandomAccessFileOrArray("formularioPDFSinDatos.pdf");
reader = new PdfReader(letter, null);
baos = new ByteArrayOutputStream();
stamper = new PdfStamper(reader, baos);
AcroFields form = stamper.getAcroFields();
form = stamper.getAcroFields();
form.setField("nombredDelCampo", valor);
stamper.setFormFlattening(true);
stamper.close();
reader = new PdfReader(baos.toByteArray());
Document document = new Document(reader.getPageSizeWithRotation(1));
PdfCopy writer = new PdfCopy(document,
new FileOutputStream("FormularioLLenoPDF.pdf"));
document.open();
writer.addPage(writer.getImportedPage(reader, 1));
document.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
Entiendo que el nuevo archivo se guarda en el servidor, pero como
podria hacerlo "al vuelo" sin guardar nada en el servidor?
De antemano muchas gracias por la ayuda :]
- Inicie sesión o regístrese para enviar comentarios
Para que veas el pdf en el navegador
Te faltaria
OutputStream ouputStream = response.getOutputStream();
PdfWriter.getInstance(document,
response.getOutputStream()); // Code 2
document.open();
document.close();
Creo que con eso bastaria
Saludos
Gracias
Si de hecho solo cambie el string
del nombre de archivo por response.getOutputStream()
Y listo, se ve en el navegador...muchisimas gracias :]