java+js將資料列印預覽PDF
阿新 • • 發佈:2018-12-10
1、pdfjs包的位置
2.後臺java
@RequestMapping(params = "goViewPDF") public ModelAndView goViewPDF(HttpServletRequest request,HttpServletResponse response){ String filePath = request.getParameter("filePath");//檔案的路徑 request.setAttribute("filePath",filePath); ModelAndView view =new ModelAndView("com/aisino/grain/platform/turnbusinessapply/viewerPDF"); return view ; } @RequestMapping("viewPDF") public void filePath(HttpServletRequest request, HttpServletResponse response) { String queryString = request.getQueryString().substring(2); String realPath = request.getSession().getServletContext().getRealPath("").replace("\\", "/"); String contextPath=request.getContextPath(); realPath=realPath.substring(0, realPath.indexOf(contextPath)); String filePath = realPath+queryString; File file = new File(filePath); byte[] data = null; try { FileInputStream input = new FileInputStream(file); data = new byte[input.available()]; input.read(data); response.getOutputStream().write(data); input.close(); } catch (Exception e) { logger.error("pdf檔案處理異常:" + e.getMessage()); } }
3、jsp的viewerPDF的頁面
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/context/mytags.jsp"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="google" content="notranslate"> <title>預覽</title> <script type="text/javascript"> </script> </head> <body tabindex="1" class="loadingInProgress"> <div id="printContainer"> <iframe src='<c:url value="plug-in/pdfjs/generic/web/viewer.html" />?file=<c:url value="/tdTurnbusinessapplyController/viewPDF.do?${filePath }"/>' width="100%" height="470"></iframe> </div> </body> </html>
4.效果
5.pdfjs下載