vue pdf二次封装解决无法显示中文问题方法详解
更新时间:2023年1月17日 08:30 点击:37 作者:简单卟容易
前言
vue-pdf
可以实现PDF文件在线预览并且支持分页。安装方式:npm install --save vue-pdf
完整代码
<template> <el-dialog :visible="visible" title="查看PDF" width="1100px" top="2vh" append-to-body @close="handleClose"> <pdf-viewer v-if="url" style="height: 750px;overflow: auto;" :src="url" :page="pageData.currentPage" @num-pages="pageData.total = $event" @page-loaded="pageData.currentPage = $event" @loaded="loadPdfHandler()"> </pdf-viewer> <div class="ui-pdf-page" v-if="pageData.total > 1"> <span @click="changePdfPage(0)" :class="pageData.currentPage == 1 ? '' : 'ui-link'">上一页</span> <span>{{pageData.currentPage + '/' + pageData.total}}</span> <span @click="changePdfPage(1)" :class="pageData.currentPage == pageData.total ? '' : 'ui-link'">下一页</span> </div> </el-dialog> </template> <script> import pdfViewer from 'vue-pdf' import CMapReaderFactory from 'vue-pdf/src/CMapReaderFactory.js' //解决中文显示 export default{ components: { pdfViewer }, name: 'ComPdfView', props: { src: { type: String, default: '', }, visible: { type: Boolean, default: false }, }, data(){ return { url: '', pageData: { currentPage: 0, total: 0, } } }, watch:{ visible(val) { if (val) { this.url = pdfViewer.createLoadingTask({ url: this.src, CMapReaderFactory }); } } }, methods: { handleClose() { this.pageData.currentPage = 1; this.$emit('update:visible', false); }, changePdfPage (val) { if (val === 0 && this.pageData.currentPage > 1) { this.pageData.currentPage-- } if (val === 1 && this.pageData.currentPage < this.pageData.total) { this.pageData.currentPage++ } }, loadPdfHandler() { this.pageData.currentPage = 1; } } } </script> <style scoped lang="less"> .ui-pdf-page span { font-size: 12px; padding: 0 20px; color: #626879; } .ui-pdf-page span.ui-link { color: #3c8cff; cursor: pointer; } </style>
解决无法显示中文问题
关键代码
import pdfViewer from 'vue-pdf' import CMapReaderFactory from 'vue-pdf/src/CMapReaderFactory.js' this.url = pdfViewer.createLoadingTask({ url: this.src, CMapReaderFactory });
以上就是vue pdf二次封装解决无法显示中文问题方法详解的详细内容,更多关于vue pdf封装中文显示的资料请关注猪先飞其它相关文章!
原文出处:https://juejin.cn/post/7058468611408527368
相关文章
- 这篇文章主要介绍了vue中activated的用法,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下...2021-01-03
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
这篇文章主要介绍了基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-23- 这篇文章主要介绍了vue 实现动态路由的方法,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-06
Antd-vue Table组件添加Click事件,实现点击某行数据教程
这篇文章主要介绍了Antd-vue Table组件添加Click事件,实现点击某行数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17- 这篇文章主要介绍了Vue组件跨层级获取组件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-28
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
这篇文章主要介绍了antdesign-vue结合sortablejs实现两个table相互拖拽排序功能,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-01-09- 这篇文章主要为大家详细介绍了vue实现同时设置多个倒计时,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-05-20
- 这篇文章主要介绍了Vue 3.0 中 jsx 语法使用,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下...2020-11-13
vue项目页面嵌入代码块vue-prism-editor的实现
这篇文章主要介绍了vue项目页面嵌入代码块vue-prism-editor的实现,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-10-30java 画pdf用itext调整表格宽度、自定义各个列宽的方法
这篇文章主要介绍了java 画pdf用itext调整表格宽度、自定义各个列宽的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-31- 这篇文章主要介绍了vue 实现用户登录方式的切换功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-04-14
- 这篇文章主要介绍了vue 获取到数据但却渲染不到页面上的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-19
- 这篇文章主要为大家详细介绍了vue+element ui实现锚点定位,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-06-29
- 这篇文章主要介绍了详解Vue Cli浏览器兼容性实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-09
- 这篇文章主要为大家详细介绍了vue实现div单选多选功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-07-16
- 这篇文章主要介绍了WebStorm无法正确识别Vue3组合式API的解决方案,帮助大家更好的理解和学习使用vue框架,感兴趣的朋友可以了解下...2021-02-18
- 这篇文章主要介绍了解决Vue watch里调用方法的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-07
- 这篇文章主要介绍了vue接口请求加密实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-12
- 这篇文章主要介绍了java 用itext设置pdf纸张大小操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-31
- 今天我们来给大家介绍下在Vue开发中我们经常会碰到的一种需求场景,本文主要介绍了Vue动态查询规则生成组件,需要的朋友们下面随着小编来一起学习学习吧...2021-05-27