Hola, muchas gracias por responder, pero lo que quiero es precisamente crear un PDF integramente en Java, verás, la aplicación construye un PDF con información que viene de una Base de Datos, y crea una tabla en el documento, cada una de sus líneas las crea con varios ciclos, ahora, dentro del ciclo si encuentra que la línea tiene un mensaje, entonces toma el mensaje HTML guardado en la Base y lo debe insertar en una de las celdas, es necesario que sea en la celda, para que tome el mismo formato.
Pondré solo parte de mi codigo porque está muy largo y a ver si así me hago entender un poco mejor:
Código:
if(lpr.getPreciosugerido().equals("0") || lpr.getPreciosugerido().equals("null")){
lpr.setPreciosugerido("N/A");
}
cellcomp = new PdfPCell(new Phrase(lpr.getPreciosugerido(), FontFactory.getFont("Calibri",8,Font.BOLD, BaseColor.BLACK)));
cellcomp.setHorizontalAlignment(Element.ALIGN_CENTER);
cellcomp.setVerticalAlignment(Element.ALIGN_MIDDLE);
cellcomp.setBackgroundColor(BaseColor.LIGHT_GRAY);
cellcomp.setBorderWidth(1f);
cellcomp.setColspan(1);
cellcomp.setRowspan(1);
tablec.addCell(cellcomp);
for (int c = 0; c < listacomp.size(); c++){
Componentes com = (Componentes)listacomp.get(c);
cellcomp = new PdfPCell(new Phrase(com.getHijo() + " " + com.getCantidad() + " " + com.getDescripcion(), FontFactory.getFont("Calibri",8,Font.BOLD, BaseColor.BLACK)));
cellcomp.setHorizontalAlignment(Element.ALIGN_LEFT);
cellcomp.setVerticalAlignment(Element.ALIGN_MIDDLE);
cellcomp.setBackgroundColor(BaseColor.WHITE);
//cellcomp.setBorderWidth(0f);
cellcomp.setBorderWidthRight(1f);
cellcomp.setColspan(5);
cellcomp.setRowspan(1);
tablec.addCell(cellcomp);
}
if (lpr.getMensaje().equals("Y")){
men.setIdmensajes(lpr.getIdmensaje());
MensajesDAO menDAO = new MensajesDAO();
menDAO.TraerMensaje(men);
cellcomp = new PdfPCell();
// try {
HTMLWorker htmlWorker = new HTMLWorker(documento);
String str = "<html><head></head><body>" + men.getMensaje() + "</body></html>";
// htmlWorker.createCell(str).createPdfPCell(str, null);
htmlWorker.parse(new StringReader(str));
}
Es por eso que lo necesito en una celda, para que el mismo ciclo lo inserte jalando el mensaje guardado de la Base de Datos, si ayuda poner todo el codigo de mi servlet o mi proyecto, me podrian comentar de que forma puedo hacerlo? Ya llevo casi un mes atorado en este tema
Gracias y saludos