又撸了个轮子
基于 PDF.js 在 Vue 中渲染 PDF 文件,支持文本渲染、懒加载、分页、缩放和打印功能。
鉴于市面上没有特别顺手的预览PDF插件,所以周末两天在家撸代码,终于搞出来一个可用的玩意。项目中使用的VUE-PDF,超过200页,直接在IE下卡死,我这个插件,500页PDF,也可以做到丝滑般的使用体验(自卖自夸)!
可以看到,只加载了前两页,后面的12页全部都没有渲染。
Install
npm install cafe-pdf --save
Use
import cafePdf from 'cafe-pdf'
import 'cafe-pdf/package/cafe-pdf.css'
Vue.use(cafePdf)
Example
Demo:http://demo.const.team/pdf/
注意:使用打印功能,需配合打印样式。
Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
src | pdf地址 | string | — | — |
useOnlyCssZoom | 缩放模式为CSS | boolean | — | false |
autoWidth | 初始化时是否将pdf缩放到容器宽度 | boolean | — | false |
textLayerMode | 是否为文本模式渲染,0使用canvas,1使用文本模式 | number | 0/1 | 0 |
Events
事件名 | 说明 | 参数 |
---|---|---|
on-loaded | 初始化事件 | 页码总数 |
on-scroll | 滚动pdf时触发 | 当前页数 |
Methods
方法名 | 说明 | 参数 |
---|---|---|
zoom | 缩放 | 缩放比例:auto |
changePage | PDF翻页 | 页码 |
printPdf | 打印整个PDF | scale |
Slot
name | 说明 |
---|---|
header | 头部插槽。 |
footer | 尾部插槽。 |
已经开源,给个星星呗!
你好,根据npm官网的安装步骤,
使用时,报这个错误了,如何解决?
TypeError: PdfjsWorker is not a constructor
在 vue.config.js 中配置 loader: