2013-12-11 2 views
1
response.setHeader("Content-Disposition", "attachment; filename=r.pdf"); 
    Document document1 = new Document(PageSize.A4); 
    PdfWriter pdfWriter=PdfWriter.getInstance(document1, response.getOutputStream()); 
    pdfWriter.setPageEvent(new HeaderAndFooter(name)); 
    try{ 
    document1.open(); 
     XMLWorkerHelper worker1 = XMLWorkerHelper.getInstance(); 
     long seed =123; 
     Random rnd = new Random (seed); 
     Collections.shuffle(arrlist1,rnd); 
     for(int i=0;i<nb;i++){ 
     String str =(String) arrlist1.get(i); 
     worker1.parseXHtml(pdfWriter, document1, new StringReader(str)); 
    } 
    }catch(Exception e){e.printStackTrace();} 
    document1.close(); 
    pdfWriter.flush(); 
    pdfWriter.close(); 
    multi.finish(); 
%> 

У меня есть этот код, где создается страница pdf, я хотел бы знать, как ее застегнуть? Я нашел этот код на посте some1 вzip a pdf-файл, созданный с использованием itext

var zip = new JSZip(); 
zip.file("Hello.txt", "Hello World\n"); 
var img = zip.folder("images"); 
img.file("smile.gif", imgData, {base64: true}); 
var content = zip.generate(); 
location.href="data:application/zip;base64,"+content; 

, но не знаю, как применить его к моему?

ответ

1

Создайте pdf-файл в ZipOutputStream вместо response.getOutputStream().

Пример:

 OutputStream servletOutputStream =response.getOutputStream(); 
     ZipOutputStream zos = new ZipOutputStream(servletOutputStream); 
     ZipEntry entry = new ZipEntry("sample.pdf"); 
     zos.putNextEntry(entry); 

     Document document1 = new Document(PageSize.A4); 
     PdfWriter pdfWriter=PdfWriter.getInstance(document1, zos.getOutputStream()); 
     pdfWriter.setPageEvent(new HeaderAndFooter(name)); 
Смежные вопросы