flex中可以生成spring的action的URL,spring而后截获该请求,其对应的requestMap如下:
1)由NativeWebRequest request中获取HttpServletResponse
2)由HttpServletResponse获取OutputStream,这个与普通的Servlet就完全相同了。
1)由NativeWebRequest request中获取HttpServletResponse
2)由HttpServletResponse获取OutputStream,这个与普通的Servlet就完全相同了。
3)由PDF模板(见前一篇)或者Java直接生成PDF的Document对象都可以作为PDF的内容
@RequestMapping(params = "action=expor。。。")
public void exportSearchedAb(ResourceRequest req,
ResourceResponse rsp, NativeWebRequest request) throws Exception {
。。。。。。。。。。
HttpServletResponse response = request
.getNativeResponse(HttpServletResponse.class);
response.setCharacterEncoding("utf-8");
response.setContentType("application/x-download");
response.setHeader("Content-Disposition",
"attachment;filename=\"abstracts.pdf\"");
OutputStream os = response.getOutputStream();
Document doc = new Document(PageSize.A4);
PdfWriter writer = PdfWriter.getInstance(doc, os);
doc.open();
// add content to document
PdfContentByte cb = writer.getDirectContent();
Paragraph title = new Paragraph();
title.add(getPhrase("AUTHOR INDEX", size, isBold, isItalic, fontName));
title.setAlignment(Element.ALIGN_CENTER);
title.setSpacingBefore(15f);
title.setSpacingAfter(15f);
doc.add(title)
doc.close();
// convert pdf doc to png
org.icepdf.core.pobjects.Document document = new org.icepdf.core.pobjects.Document();
DocumentUtils.closeDocument(document);
os.flush();
os.close();
}