1. 背景
最近在做一个项目,实现方式为Springboot+Freemarker+Layui。有一个需求是浏览器中预览PDF文件,实现了之后感觉很有意思,分享给大家,希望能对大家有所帮助!
2. 目标
这里简化一下实现目标,在网页上放一个按钮,点击之后弹窗预览PDF文件。
3. 前端代码
前端页面代码,图上有简单的说明,就是显示button+JS脚本。这里通过“layer.open”并且指定“type: 2”来打开一个弹窗,里面实际是一个iframe。
4. X-Frame-Options引起的异常
第一次运行时失败了,错误如图所示,错误原因是SpringSecurity默认不允许在页面中使用iframe。
5. 修改SpringSecurity默认
如图修改SpringSecurity默认配置。
6. 成功效果
重启之后,点击按钮,成功展示如图。
7. 局限性
使用iframe来展示PDF不能禁用打印,下载按钮。如果需要这些功能请观看我的使用PDF.JS来预览PDF的文章。
8. 结语
原创文章,需转载请留言和私信联系。如有疑问,欢迎留言或私信共同探讨。