Zip Jasper сообщает

zipfile = new ZipOutputStream(response.getOutputStream());
response.setHeader("Content-Disposition", "attachment; filename=\"" + "myReport.zip\";");
response.setContentType("application/zip");
List<JasperPrint> print2 = new ArrayList<JasperPrint>();
print2.add(print);
try {      
    for (int j = 0; j < 5; j++) {
    byte[] pdfAsBytes;   
    byte[] buffer = new byte[1024];
    pdfAsBytes =  JasperExportManager.exportReportToPdf(print2.get(j));
    ByteArrayInputStream fis = new ByteArrayInputStream(pdfAsBytes);
    zipfile.putNextEntry(new ZipEntry(print2.get(j).getName()+".pdf"));
    int length;
    while ((length = fis.read(buffer,0,1024)) > 0) {
        zipfile.write(buffer, 0, length);
    }
    zipfile.closeEntry();
    // close the InputStream
    fis.close();
}  
zipfile.close();

Я пытаюсь сжать несколько отчетов о яшме. Я могу заархивировать один отчет, но не смог сжать несколько отчетов. Я использую список Java, чтобы добавить один и тот же Jasperprint, просто чтобы проверить, может ли это сжать более одного отчета.

0 ответов

Другие вопросы по тегам