0

我正在使用 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

4

0 回答 0