最近项目需要实现在线预览pdf文件功能,找来找去,发现有个pdf.js的类库挺好用,直接用js实现在线预览。 pdf.js是开源项目, github 的地址: https://github.com/mozilla/pdf.js 根据教程指引,有以下几个步骤:
接着访问 http://localhost:8888/web/viewer.html 就能看到效果:
接下来使用gulp构建pdf.js,如下: gulp generic
构建完成后项目目录下生成build文件夹:
generic/web/viewer.html渲染pdf阅读器页面,而generic/web/viewer.js则是打开指定的pdf文件,打开viewer.js可以看到:
可以看到,默认打开的是generic/web/compressed.tracemonkey-pldi-09.pdf文件,再来看下面这段代码:
这样,我们就可以使用传递file形参来动态指定打开的pdf文件,如: http://localhost:8080/generic/web/viewer.html?file=file.pdf PS:如果觉得以上步骤繁琐的话,可以把构建后的 照样能看到demo的效果。
先写一个简单的jsp页面,使用iframe标签来加载pdf:
接着写个controller读取pdf文件并返回:
运行,在浏览器访问以下地址: http://localhost:8080/res/pdf.jsp 效果如下:
本质是访问generic/web/viewer.html,通过指定的file形参打开指定pdf文件。 |
|