- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 iText 生成 pdf 文件,但我有一个关于生成的问题。我想将 PDF 提供给浏览器,以便浏览器显示它,而不实际创建文件。
实现这一目标的最佳方法是什么?
一个限制是我需要从 JSP 页面使用它 - 我正在寻找能够避免“getOutputStream 已被调用一次”错误的东西。
最佳答案
I would like to serve the PDF to the browser so that the browser displays it, without actually creating a file.
只需通过responsegetOutputStream()
而不是new FileOutputStream
至PdfWriter
.
PdfWriter pdfWriter = PdfWriter.getInstance(document, response.getOutputStream());
// ...
<小时/>
One limitation is that I would need to use it from a JSP page - something that would circumvent the "getOutputStream has already been called once" error is what I am looking for.
只需删除 <% %>
之外的任何空格即可在 JSP 中,包括换行符。它们由响应编写器隐式发送到响应。
即不要
<% page import="foo" %>
<% page import="bar" %>
<%
for (int i = 0; i < 1000; i++) {
out.println("I should not use scriptlets.");
}
%>
(newline here)
但更是如此
<% page import="foo" %><% page import="bar" %><%
for (int i = 0; i < 1000; i++) {
out.println("I should use servlets.");
}
%>
或者更好的是,不要将 Java 代码放入 JSP 文件中。 JSP 文件被设计为像 HTML 一样呈现模板文本,而不是做完全不同的事情。在普通的 Java 类(如 servlet)中执行此操作。
关于java - iText - 无需 PDF 文件即可即时生成文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9268165/
这实际上是我问的问题的一部分here ,该问题没有得到答复,最终被标记为重复。 问题:我只需使用 @Autowired 注释即可使用 JavaMailSender。我没有通过任何配置类公开它。 @Co
我是一名优秀的程序员,十分优秀!