网站首页 > 技术文章 正文
在VUE项目中集成PDF.js实现PDF文件在线浏览查看。
1. 下载PDF.js相关文件
下载地址:https://mozilla.github.io/pdf.js/getting_started/#download
下载Prebuilt版本即可,如下图:
2. 解压并复制到项目public目录下
在VUE项目public文件夹下新建pdf文件夹,把刚才下载的PDF.js相关源码保持原来结构放进去,最后形成层次结构如下图所示:
3. 在页面中使用
可使用以下代码在新窗口中打开PDF文件,其中 globals.globalBaseUrl + 'file/view/' + id 为后台返回文件流的请求URL。
window.open('/pdf/web/viewer.html?file=' + window.encodeURIComponent(globals.globalBaseUrl + 'file/view/' + id));
以SpringBoot为例,后台的文件请求代码
@GetMapping("/view/{id}")
public void view(@PathVariable Integer id, HttpServletResponse response){
// 此处省略获取文件路径的代码
String filePath = ......
File file = new File(filePath);
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){
e.printStackTrace();
}finally {
try{
if(input != null){
input.close();
}
}catch(IOException e){
e.printStackTrace();
}
}
}
}
展示效果如下
猜你喜欢
- 2024-10-25 文档在线预览新版(四)使用js前端组件实现文档在线预览
- 2024-10-25 细聊Vue 3 系列之 JSX 语法(vue中jsx语法)
- 2024-10-25 一篇文章教你并列比较React.js和Vue.js的语法【实践】
- 2024-10-25 带你了解 vue-next(Vue 3.0)之 初入茅庐【实践】
- 2024-10-25 10个Vue开发技巧「实践」(vue开发视频教程)
- 2024-10-25 Python开发打印服务(2)(python打印代码)
- 2024-10-25 Vue.js 项目实践——创建记忆卡片游戏
- 2024-10-25 让Jenkins自动部署你的Vue项目「实践」
- 2024-10-25 Java实战系列-前端VUE代码开发及接口流程设计(1)
- 2024-10-25 Vue高性能渲染大数据Tree组件「实践」
- 11-26Win7\8\10下一条cmd命令可查得笔记本电脑连接过的Wifi密码
- 11-26一文搞懂MySQL行锁、表锁、间隙锁详解
- 11-26电脑的wifi密码忘记了?一招教你如何找回密码,简单明了,快收藏
- 11-26代码解决忘记密码问题 教你用CMD命令查看所有连接过的WIFI密码
- 11-26CMD命令提示符能干嘛?这些功能你都知道吗?
- 11-26性能测试之慢sql分析
- 11-26论渗透信息收集的重要性
- 11-26如何查看电脑连接过的所有WiFi密码
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)