使用iText在浏览器中打开生成的PDF

时间:2015-11-12 17:56:40

标签: pdf struts2 itext bytearrayoutputstream pdfstamper

我正在使用PDFStamper生成PDF文件,然后我想传递它在浏览器中打开。我的代码在JSP文件中。我实际生成PDF到桌面的代码可以工作但不能路由到浏览器。以下是我的代码。

PdfReader reader = new PdfReader("/path/pdfs/raw.pdf");
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        PdfStamper stamper = new PdfStamper(reader, baos);
        PdfContentByte canvas = stamper.getOverContent(1);
        BaseFont font = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);
        canvas.setFontAndSize(font, 12);
        canvas.beginText();
        canvas.showTextAligned(Element.ALIGN_LEFT, "TEST! TEST! TEST! TEST! ", 80, 713, 0);
        canvas.endText();
        stamper.close();
        reader.close();
        String filename="test.pdf";
        response.setContentType("application/pdf");
        response.setHeader( "Content-Disposition", "filename=" + filename );
        response.setContentType("application/pdf");
        OutputStream os = response.getOutputStream();
        baos.writeTo(os);
        os.flush();     

目前打开一个空白页面 - 我不确定我到底做错了什么。

我可以使用iText Document来完成这项工作但是因为我打开现有文档并添加内容我必须使用PDFStamper,这就是问题所在。我已经确认阅读器中存在PDF文件,可以通过浏览器直接访问该位置。

任何帮助将不胜感激! 使用,Struts2,Tile2,Weblogic,Java,iText

0 个答案:

没有答案