30/09/2010, 06:10
|
| | Fecha de Ingreso: octubre-2009
Mensajes: 22
Antigüedad: 15 años, 1 mes Puntos: 0 | |
Problema con Itext Hola chicos, tengo un problema con la libreria Itext. He creado un servlet muy sencillito para hacer usas pruebas de como crear PDF con esta librería y quiero añadir una imagen pero el problema es que al añadir con document.add(objeto); me dice que no es un valor valido para ese objeto. He estado viendo decenas de post y todos lo hacen igual. Entonces no encuentro cual puede ser la solución a mi problema. Alguno se le ocurre algo?.
Aqui os pongo el codigo. El error ocurre justo en la linea
Image foto = Image.getInstance("imagenes/nen.jpg");
document.add(foto);
en esa linea dice que foto no es un valor válido para document.add.
package Tienda;
import javax.servlet.ServletConfig;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lowagie.text.Document.*;
import com.lowagie.text.DocumentException;
import com.lowagie.text.PageSize;
import com.itextpdf.text.Image;
import com.lowagie.text.Document;
import com.lowagie.text.pdf.PdfWriter;
import com.lowagie.text.Paragraph;
public class GenerarPDF extends HttpServlet {
public void init(ServletConfig config) throws ServletException{
super.init(config);
}
public void destroy(){
super.destroy();
}
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
Document document = new Document( PageSize.A4, 50, 50, 50, 50);
try{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfWriter writer = PdfWriter.getInstance(document, baos);
document.open();
document.add(new Paragraph("Primer PARRAFO"));
document.add(new Paragraph("SEGUNDO parrafo mas largo que el anterior."));
Image foto = Image.getInstance("imagenes/nen.jpg");
document.add(foto);
document.close();
// Hay que configurar las cabeceras para que
//el navegador detecte que es un PDF
res.setHeader("Expires", "0");
res.setHeader("Cache-Control","must-revalidate, post-check=0, pre-check=0");
res.setHeader("Pragma", "public");
res.setContentType("application/pdf");
ServletOutputStream out = res.getOutputStream();
baos.writeTo(out);
out.flush();
}
catch(DocumentException e){
}
}
} |