2013-04-25 12 views
11

Generazione di report:JasperReports: può vedere l'immagine di sfondo in formato pdf di esportazione, ma non in esportazione docx

Il seguente codice risiede in un servlet e genera sia un documento di parola "letter.docx" per scaricare e un "pika.pdf "file in C:

Sono in grado di vedere l'immagine di sfondo che ho definito in pika, ma non in" lettera ".

 InputStream is = request.getServletContext().getResourceAsStream("/resources/reports/" +name);  
     JasperReport jr = JasperCompileManager.compileReport(is);       
     JasperPrint jp = JasperFillManager.fillReport(jr, params, ds);  
     JRExporter exp = new JRDocxExporter(); 
     exp.setParameter(JRExporterParameter.JASPER_PRINT, jp);   
     ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
     exp.setParameter(JRExporterParameter.OUTPUT_STREAM, bos);  
     exp.exportReport(); 

     JasperExportManager.exportReportToPdfFile(jp, "C:\\pika.pdf"); 

     byte[] bytes = bos.toByteArray();  

     response.reset();  
     response.setContentType("application/octet-stream"); 
     response.setHeader("Content-disposition", "attachment; filename=\"letter.docx\"");    
     response.getOutputStream().write(bytes); 
     response.getOutputStream().flush(); 
     response.getOutputStream().close();  
+0

quale formato è la tua immagine ?? hai provato a cambiare il formato? –

+0

@ RuslanLópezCarro immagine png – SinistraD

risposta

1

Looking for an answer nella comunità di diaspro, posso vedere che non sei il primo che ha chiesto per questo. Here is another question like yours tutti dicono che non è possibile impostare un'immagine come sfondo nei rapporti doc. Le ultime cose che ho trovato nel mio viaggio sono tre alternative: JOD Reports L'opzione più radicale, se è possibile modificare il motore di report, verificarlo. Other tutorial che mostra come incorporare le immagini, ma non sono sicuro che funzioni nel caso specifico di Documenti di Word. The last tutorial Qui in SO, un piccolo assaggio per mettere il testo come sfondo.

Spero che questo aiuti, saluti.

1

Non ho abbastanza informazioni sul tuo caso ma una volta che ho avuto un problema molto brutto con l'esportazione di Excel, una cella non veniva mostrata in XLS ma in PDF era mostrata bene. Quello che ho scoperto è solo un singolo disallineamento di pixel tra la banda di intestazione e la banda di valori per la stessa colonna. Ciò ha portato una cella in più in ciascuna delle righe dei valori e JR non è riuscita a popolarlo correttamente. Quindi il controllo dei disallineamenti nel JRXML è il mio consiglio, basato su esperienze precedenti. Poiché i formati di MS Office non sono ben standardizzati come PDF o HTML, le loro esportazioni tendono ad essere più "glitch".