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