我想向用户显示此PDF,而无需将PDF文件真正保留在服务器上。
将其写入响应的输出流。假设您正在使用iText生成PDF,并将响应的输出流传递到
PdfWrter#getInstance()。
public void download() throws IOException { FacesContext context = FacesContext.getCurrentInstance(); HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse(); response.setContentType("application/pdf"); response.setHeader("Content-Disposition", "inline; filename="" + filename + """); document document = new document(); PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream()); document.open(); // Build document. context.responseComplete();}
但是,这将在浏览器中完整显示PDF。如果要“_另存为”_对话框,只需
inline将标题中的部分更改为
attachment。或者,如果您真的想将其嵌入
<object>,则需要创建一个servlet,并
response在
doGet()方法中完成上述工作,最后让我们
<object>的URL指向该servlet。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)