越写悦快乐之Vue项目如何集成PDF组件
文章图片
Vue框架 - 图片来自App 【越写悦快乐之Vue项目如何集成PDF组件】今天的越写悦快乐系列文章为大家带来ue项目如何集成PDF组件的文章。做过前端开发的小伙伴都知道,我们如何在页面中集成PDF文件,也就是读取二进制数据并渲染到页面上,我们可以使用vue-pdf
来快速构建页面,也可以自定义组件使用pdf-dist
来直接操作PDF文档,通过获取文档信息然后根据页码依次渲染页面,接下来的文章我为大家带来Vue项目中如何集成PDF组件,也就是渲染PDF文件到页面上。
开发环境
- Window 10.0.17763
- Node 10.15.3
- Yarn 1.16.0
- Vue CLI 3.7.0
- Git 2.21.0
{
"name": "vant-tour",
"version": "1.0.0",
"private": true,
"description": "An Vant Tour",
"license": "MIT",
"author": "Watony Weng ",
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"axios": "^0.18.0",
"babel-runtime": "^6.26.0",
"vant": "^1.6.14",
"vue": "^2.6.10",
"vue-pdf": "^4.0.6",
"vue-router": "^3.0.5"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^3.4.0",
"@vue/cli-plugin-eslint": "^3.4.0",
"@vue/cli-service": "^3.4.0",
"babel-plugin-import": "^1.8.0",
"less": "^3.8.1",
"less-loader": "^4.1.0",
"postcss-pxtorem": "^4.0.1",
"qs": "^6.7.0",
"vue-cli-plugin-axios": "0.0.4",
"vue-template-compiler": "^2.6.10",
"vuejs-logger": "^1.5.3",
"webpack": "^4.32.0"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/recommended"
],
"rules": {},
"parserOptions": {
"parser": "babel-eslint"
}
},
"browserslist": [
"Android >= 4.0",
"iOS >= 7"
]
}
引入组件 - 模板部分vue-pdf
库需要依赖babel-runtime
引入组件 - 逻辑部分
运行
文章图片
运行结果 - 图片来自App 原理分析 我们使用
vue-pdf
这个组件其实是利用pdfjs
生成文档数据,然后通过组件进行渲染,通过PDFJS.getDocument()
获取文档对象,然后根据src
属性按照页码依次渲染。参考
- vue-pdf
- PDF文件有签章不显示该怎么办?
临时方案可以注释pdf-dist
下的pdf.worker.js中的Sig判断
- PDF文件加载报错
请参考issue个人收获及感想
今天的这篇文章我们分析和整理了如何在Vue项目中渲染PDF文件,其实是利用本文的使用只是pdf.js的冰山一角,若是有兴趣的朋友可以深入学习一下该开源库的渲染原理和其它用法。
pdf.js
来处理和渲染文件的,vue-pdf
只是针对Vue
封装了一些属性方法,假设我们不使用Vue也可以渲染PDF文件,只是需要我们利用pdf.js
提供的方法来操作DOM,获取URL地址最后渲染在页面上。通过以上的整理和总结我们应该了解PDF文件渲染的原理以及如何封装Vue组件,最后可以在修改源代码的基础上解决一些实际的业务问题。希望大家保存学习的热情,继续构建高可用低延迟的产品和服务,为公司创建更大的价值。若是我的文章对你有所启发,那将是我莫大的荣幸。推荐阅读
- 第三节|第三节 快乐和幸福(12)
- 拉黑家人一整年之后,以为会快乐,最后却抑郁症!!
- 会说唱的快乐老头儿
- 愉悦的周末(134)2020-9-20
- 我用芋圆和芋饺祝大家元宵节快乐
- 小小诗九则
- 520情人节快乐啦啦啦
- 【雅静的幸福空间】第60篇《创造快乐》
- 取悦应该属于自己
- 只要你幸福就好,我快不快乐不重要