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 的帖子上找到了这段代码
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;
但不知道如何将其应用到我的?
最佳答案
在 ZipOutputStream 而不是 response.getOutputStream() 中创建 pdf。
示例:
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));
关于java - 压缩使用 itext 创建的 pdf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20511389/