Je suis capable de générer un fichier pdf et le vider dans le navigateur. Mais, maintenant, mon exigence est modifiée. J'ai besoin de générer plusieurs pdf et les garder dans un seul fichier zip et le vider dans le navigateur. J'ai suivi cela http://www.avajava.com/tutorials/lessons/how-can-i-create-a-zip-file-from-a-set-of-files.htmlZip multiples pdf dans un seul fichier zip en utilisant Java
Mais n'a pas pu trouver comment intégrer dans mon code. Voici mon code. Toutes les idées seraient grandement appréciées.
for(int i = 0; i < 5 ; i++) {
byte[] documentBytes = TSService.generateDocument(dealKey, i);
String documentType = TSUtil.getDocumentType(i);
response.setHeader("Content-Disposition", "attachment;filename="+documentType);
response.setContentType("application/pdf");
response.setHeader("Expires", "0");
response.setHeader("Cache-Control", "must-revalidate, postcheck=0, pre-check=0");
response.setHeader("Pragma", "public");
response.setContentLength(documentBytes.length);
ServletOutputStream out = response.getOutputStream();
out.write(documentBytes);
out.flush();
out.close();
}
Initialement, je n'avais que du code qui est en boucle. Maintenant, je veux générer 5 rapports basés sur la valeur i.
code mis à jour pour Alex
String documentType = TSUtil.getDocumentType(Integer.valueOf(documentKey));
response.setHeader("Content-Disposition", "attachment;filename=dd.zip");
response.setContentType("application/zip");
response.setHeader("Expires", "0");
response.setHeader("Cache-Control", "must-revalidate, postcheck=0, pre-check=0");
response.setHeader("Pragma", "public");
ServletOutputStream out = response.getOutputStream();
ZipOutputStream zout = new ZipOutputStream(out);
for(int i = 1; i <= 5 ; i++) {
byte[] documentBytes = TSService.generateDocument(dealKey, i);
ZipEntry zip = new ZipEntry(i+".pdf");
zout.putNextEntry(zip);
zout.write(documentBytes);
zout.closeEntry();
}
zout.close();
Vous devez utiliser un ZipOutputStream, rincer tout le pdf dans ce outpustream puis rincer le résultat dans le navigateur – Tuco
@Tuco, pouvez-vous plz poster un extrait de l'échantillon? – Yakhoob