vue-pdf实现pdf文件在线预览
2023/8/13 23:22:22
本文主要是介绍vue-pdf实现pdf文件在线预览,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在日常的工作中在线预览 PDF 文件的需求是很多的,下面介绍一下使用 vue-pdf 实现pdf文件在线预览
-
使用 npm 安装 vue-pdf
npm install vue-pdf
-
使用 vue-pdf 显示 PDF 文件
<template> <div> <pdf :class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="url"></pdf> </div> </template> <script> import pdf from 'vue-pdf' export default { components:{ pdf }, data(){ return { url: "http://example.com/example.pdf" } } </script>
-
此时页面中就会显示我们提供的 PDF 文件了,但是此时只显示了 PDF 文件的第一页
-
按页显示 PDF 文件
<template> <div> <button @click="prevPage">上一页</button> <button @click="nextPage">下一页</button> <div >{{ pageNumber }} / {{ totalNumber }}</div> <pdf :page="pageNum" :class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="url" @progress="loadedRatio = $event" @num-pages="pageTotalNum=$event" ></pdf> </div> </template> <script> import pdf from 'vue-pdf' export default { components: { pdf, }, data() { return { url: "http://example.com/example.pdf", pageNum: 1, totalNumber: 1, loadedRatio: 0 } }, mounted() { this.getNumPages() }, methods: { getNumPages() { let loadingTask = pdf.createLoadingTask(this.url) loadingTask.promise.then(pdf => { this.totalNumber = pdf.numPages }).catch(err => { console.error('pdf 加载失败', err); }) }, // 上一页 prePage() { let page = this.pageNumber page = page > 1 ? page - 1 : this.totalNumber this.pageNumber = page }, // 下一页 nextPage() { let page = this.pageNumber page = page < this.totalNumber ? page + 1 : 1 this.pageNumber = page } } } </script>
使用 vue-pdf 能满足我们预览 PDF 文件的要求,但是使用起来太繁琐了,配置很多,无法开箱使用,下面介绍一款 PDF SDK 实现 PDF 在线预览
使用 ComPDFKit PDF SDK 实现 PDF 文件的在线预览
第一步:添加 ComPDFKit PDF SDK 包
-
将 @compdfkit 文件夹添加到项目的 根 目录或 assets 目录下的 lib 目录中。这将作为 ComPDFKit PDF SDK for Web 的入文件,并将它导入到您的项目中。
-
将包含运行 ComPDFKit PDF SDK for Web 所需的静态资源文件的 webviewer 文件夹添加到项目的静态资源文件夹中。获取地址和试用地址:https://www.compdf.com/webviewer/demo
第二步:显示PDF文档
-
将 @compdfkit 文件夹中的 webviewer.js 文件导入到您的项目中。
-
调用
ComPDFKitViewer.init()
在您的项目中初始化 ComPDFKit Web Viewer。 -
将要显示的 PDF 地址和许可证密钥传递给 init 函数
// Import the JS file of ComPDFKit Web Viewer import ComPDFKitViewer from "/@compdfkit/webviewer"; const viewer = document.getElementById('webviewer'); ComPDFKitViewer.init({ pdfUrl: 'Your PDF Url', license: 'Input your license here' }, viewer) .then((core) => { const docViewer = core.docViewer; docViewer.addEvent('documentloaded', () => { console.log('ComPDFKit Web Viewer loaded'); }) })
- 项目运行后,您就可以看到要显示的 PDF 文件了。
这篇关于vue-pdf实现pdf文件在线预览的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15useCallback教程:React Hook入门与实践
- 2024-11-15React中使用useContext开发:初学者指南
- 2024-11-15拖拽排序js案例详解:新手入门教程
- 2024-11-15React中的自定义Hooks案例详解
- 2024-11-14受控组件项目实战:从零开始打造你的第一个React项目
- 2024-11-14React中useEffect开发入门教程
- 2024-11-14React中的useMemo教程:从入门到实践
- 2024-11-14useReducer开发入门教程:轻松掌握React中的useReducer
- 2024-11-14useRef开发入门教程:轻松掌握React中的useRef用法
- 2024-11-14useState开发:React中的状态管理入门教程