Foros del Web » Programación para mayores de 30 ;) » Java »

Duda sobre createDocument() en jodReports

Estas en el tema de Duda sobre createDocument() en jodReports en el foro de Java en Foros del Web. Hola. Estoy intentando crear un documento usando jodReports. Hice este código: DocumentTemplateFactory documentTemplateFactory = new DocumentTemplateFactory(); logger.debug("Se ha creado un documentTemplateFactory"); DocumentTemplate template = documentTemplateFactory.getTemplate(new ...
  #1 (permalink)  
Antiguo 17/09/2010, 05:21
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 3 meses
Puntos: 188
Duda sobre createDocument() en jodReports

Hola. Estoy intentando crear un documento usando jodReports. Hice este código:

DocumentTemplateFactory documentTemplateFactory = new DocumentTemplateFactory();
logger.debug("Se ha creado un documentTemplateFactory");
DocumentTemplate template = documentTemplateFactory.getTemplate(new File(templateFile)); // templateFile es el archivo plantilla que abro (un .doc)
logger.debug("Se ha creado un documentTemplate");
Map data = new HashMap();
data.put("THE_VAR", "una variable del documento");
data.put("THE_TEXT", "el texto necesario para completarlo");
data.put("THE_CONTENT", "Así, el contenido del documento se puede ir completando");
logger.debug("Se ha creado un HashMap y cubierto sus datos");
template.createDocument(data, new FileOutputStream("nombreDocumento.doc")); // Falla aquí

Me gustaría saber por que falla última línea de código. Cuando usa la librería de jodReports se produce internamente un NullPointerException, y el mensaje del error que obtengo es --> null.

Como no puedo modificar internamente la librería, estoy teniendo problemas para salir de este atolladero.

Es posible que jodReports requiera una plantilla del open office (.odt), en vez de un .doc, o que para poder utilizar un doc necesite adaptarlo con el jodConverter, pero me gustaría que alguien que haya trabajado con esta librería me responda si sabe donde puede estar este problema.

Un saludo y gracias.
  #2 (permalink)  
Antiguo 19/09/2010, 12:26
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 3 meses
Puntos: 188
Respuesta: Duda sobre createDocument() en jodReports

up! para el lunes me gustaría tener alguna respuesta. A ver si hay suerte.
  #3 (permalink)  
Antiguo 21/09/2010, 00:59
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 3 meses
Puntos: 188
Respuesta: Duda sobre createDocument() en jodReports

no hay nadie que haya trabajado con jodReports?
  #4 (permalink)  
Antiguo 27/09/2010, 10:13
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 3 meses
Puntos: 188
Respuesta: Duda sobre createDocument() en jodReports

Se agradecería alguna respuesta, aunque es un tema bastante complicado.
  #5 (permalink)  
Antiguo 30/09/2010, 07:53
 
Fecha de Ingreso: octubre-2008
Mensajes: 13
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Duda sobre createDocument() en jodReports

Cita:
template.createDocument(data, new FileOutputStream("nombreDocumento.doc")); // Falla aquí
1. Has probado a poner una ruta completa?
2. mejor con extensión odt.

por otro lado.
- La plantilla tiene que ser odt
- Asegúrate de estar pasando todos los parámetros y de forma correcta.

te adjunto un codigo mio, que esta funcionando. yo obtengo directamente los bytes, pero es fácil de cambiar

Código:
DocumentTemplateFactory documentTemplateFactory = new DocumentTemplateFactory();
DocumentTemplate template = documentTemplateFactory.getTemplate(new File("c:/PlantillaBase.odt"));

Map data = new HashMap();
data.put("Nombre", "Pepito");
data.put("Apellido","Perez");

ByteArrayOutputStream buffer = new ByteArrayOutputStream();
			
template.createDocument(data, buffer);

byte[] docbyte = buffer.toByteArray();
			
FileOutputStream output = new FileOutputStream("C:/prueba2.odt");
			
output.write(docbyte);
output.close();

Espero que te ayude.

Saludos,
  #6 (permalink)  
Antiguo 28/11/2010, 12:05
 
Fecha de Ingreso: noviembre-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Respuesta: Duda sobre createDocument() en jodReports

Buenas a todos...

Bueno he estado leyendo en la web y informacion sobre el jodreports y la verdad no he tenido mucha suerte =( y aparte de todo no tengo mucha experiencia con plantillas por decir nula la verdad..

Bueno exactamente la necesidad surge por un requerimiento de un cliente el cual genera ciertos reportes para enviar por internet, estos archivos ya vienen predefinidios como cartas de presentacion y demas, ellos trabajan con openoffice y lo que hacen es una conexion con mysql para que se llenen los datos...

a mi me gustaria realizar este mismo proceso pero directamente desde java pero la verdad no tengo ni experiencia en openoffice ni con el uso de las tales plantillas, si me pudiesen colaborar con alguna pagina o cualquier info estare bastante agradecido.

Gracias por la atencion prestada.....

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:44.