package com.yc.servlet; import java.awt.Image; import java.io.IOException; import java.io.PrintWriter; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.jasperreports.engine.*; import javax.servlet.http.HttpServlet; import com.yc.service.impl.DBHelper; import com.yc.service.impl.EnvHelper; import com.yc.utils.SessionKey; // Referenced classes of package net.sf.jasperreports.j2ee.servlets: // BaseHttpServlet // //image public class ImageServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; private static String imageFormat = ".jpg"; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { try { Map retMap = BuildFormat.getParam(request, response); @SuppressWarnings("unchecked") Map map = (Map) retMap.get(BuildFormat.MAP_PARM); imageFormat = ".jpg"; String image_format = request.getParameter("ImageFormat"); imageFormat = (image_format != null) ? ("." + image_format) : imageFormat; JasperPrint jPrint = BuildFormat.getJasperPrint(retMap.get(BuildFormat.JRXML_PATH).toString(), map); PrintWriter out = response.getWriter(); out.print("图片打印预览
图片正在生成中..........
"); // out.print(""); // out.flush(); // out.close(); // out=response.getWriter(); BuildFormat.cParent.delete(EnvHelper.getPath() + "delImage"); // out.print("图片打印预览 "); for (int i = 0; i < jPrint.getPages().size(); i++) { Image image = JasperPrintManager.printPageToImage(jPrint, i, 1); getImage(image, out, i + 1); } out.print(""); out.flush(); out.close(); } catch (JRException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } private void getImage(Image image, PrintWriter out, int i) { String imagePath = "delImage/jrxml" + i + "_" + BuildFormat.getDateString() + imageFormat; String imageUrl = EnvHelper.getPath() + imagePath; BuildFormat.cParent.delete(imageUrl); BuildFormat.cParent.createFolderAndFile(imageUrl); BuildFormat.createImage(imageUrl, image); out.print("
"); } }