【发布时间】:2014-05-05 07:03:54
【问题描述】:
我已经编写了一个用于生成 pdf 的代码,它工作正常,但现在我要在安全模式下生成一个 pdf 文件。
这是我的安全模式代码
try {
HttpServletResponse response = ServletActionContext.getResponse();
PDFGenerator pdf = new PDFGenerator();
PDFGenerator generator=new PDFGenerator();
/* byte[] bytes = null;
bytes = (generator.generatepdf(sosValues.getCmaId(), null)).toByteArray();
//bytes = buffer.toByteArray();
response.setContentLength(bytes.length);
if (bytes != null) {
bis = new ByteArrayInputStream(bytes);
}*/
ByteArrayOutputStream baos=generator.generatepdf(sosValues.getCmaId(), null);
bis = new ByteArrayInputStream(baos.toByteArray());
PdfReader pdfReader=new PdfReader(bis);
PdfStamper pdfStamper=new PdfStamper(pdfReader, baos);
pdfStamper.setEncryption(null,null, PdfWriter.HideToolbar, PdfWriter.STRENGTH40BITS);
pdfStamper.setEncryption("Hello".getBytes(), "World".getBytes(), PdfWriter.AllowPrinting
| PdfWriter.AllowCopy, PdfWriter.STRENGTH40BITS);
pdfStamper.close();
baos.close();
} catch (Exception e) {
e.printStackTrace();
}
在调试时,我在这一行遇到异常 pdfStamper.setEncryption(null,null, PdfWriter.HideToolbar, PdfWriter.STRENGTH40BITS);
浏览器中的异常是:
服务器遇到一个内部错误,导致它无法完成此请求。
【问题讨论】:
-
您至少应该通过查看服务器日志而不是查看服务器日志来说明您用于创建 PDF(iText,显然是)、标记它并添加底层错误,而不是那么高级的废话在浏览器中。
标签: java hibernate struts2 pdf-generation itext