网上很多方法,但是很乱,大多都是使用pdf.js。当然了我也是。
需求是列表很多行,点击当前行,预览当前行文件。
vue项目中使用pdf.js预览pdf文件
首先肯定是导入插件,我是从官网直接下载,链接:我是链接,下载后解压注意放在static文件目录下,这里面有核心的pdf.js和pdf.worker.js,以及展示pdf的viewer页面把它作为静态资源来编译,基本想要的build和web这两个重要文件夹的东西都正常编译。整个文件放在static目录下的缺点就是打包会很大哟(当然你可以选择性的删除里面的文件,比如绝大部分语言包)。注意路径 public>static>pdf>build+web


然后请求接口后端返回文件流如图。我是一次请求连个接口,然后同一所打开。此时要区分文件名,如果文件名相同,第二个打开的窗口会覆盖掉第一个。看图吧

encodeURIComponent(url) 为pdf.js自带方法,无需引入
网友评论