项目简介:需要在浏览器预览pdf文件,并能打印下载
目录
需要源码,请加微信号,进技术交流群,发送springboot109,免费获取此文章源码
一.项目效果
单击文字后,出现如下
二.使用的技术和项目依赖
1.项目使用pdf.js插件
(1)pdf插件下载以及预览请点击。http://mozilla.github.io/pdf.js/
(2)将PDF插件目录放在工程里
2.项目依赖
themleaf ,web
三. 前端pdfview.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>预览PDF文件</title>
</head>
<script>
function previewPDF() {
window.open("asserts/js/web/viewer.html?file=/preview");
}
</script>
<body>
<a onclick="previewPDF()">Click here to preview the PDF</a>
</body>
注意:open地址是工程中pdf插件文件viewer.html地址加上file=/。如果open("preview"),则无法有打印下载效果。
四.后端PreviewController
@Controller
public class PreviewController {
@RequestMapping("/pdfview")
public String index() {
return "pdfview";
}
@RequestMapping(value = "/preview", method = RequestMethod.GET)
public void pdfStreamHandler(HttpServletRequest request, HttpServletResponse response) {
System.out.println("=================preview==============");
//PDF文件地址
File file = new File("/Users/whale/Documents/aaa.pdf");
if (file.exists()) {
byte[] data = null;
FileInputStream input=null;
try {
input= new FileInputStream(file);
data = new byte[input.available()];
input.read(data);
response.getOutputStream().write(data);
} catch (Exception e) {
System.out.println("pdf文件处理异常:" + e);
}finally{
try {
if(input!=null){
input.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}