pdf预览,在项目中是很常见的需求,在PC端web项目中,我们可以使用window.open(url)直接打开pdf进行预览,那么移动端虽然我们也可以使用此方法,但是这是新开了一个webview页面,里面的内容也不是我们可以控制的
 
 

安装插件 vue-pdf

1 npm install --save vue-pdf

通常pdf都是有多页的,当然插件也是支持多页展示的,移动端通过上下滑动来查看pdf

利用下面的方法可以实现移动端预览pdf滚动,记住,加载pdf一定要在mounted()里,否则pdf的方法会报错

这里的 pdfUrl1 我们利用的是线上的pdf地址,在实际的开发过程中我们要先通过后台接口拿到文件(url形式或者是文件流的形式),将文件流传到paf的方法加载pdf就行了

 1 <template>
2 <div>
4 <pdf v-for="item in numPages" :key="item" :src="src" :page="item" />
5 </div>
6 </template>
7
8 <script>
9 import pdf from 'vue-pdf'
12 export default {
13 components: {
15 pdf
16 },
17 data() {
18 return {
19 numPages: '',
20 src: '',
21 pdfUrl1:
22 'http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf',
23 }
24 },
25 mounted() {
26 this.loadPdf(this.pdfUrl1)
27 },
28 methods: {
29 // pdf加载时
30 loadPdf(url) {
31 this.src = pdf.createLoadingTask(url)
32 this.src.promise.then((pdf) => {
33 this.numPages = pdf.numPages // 这里拿到当前pdf总页数
34 })
35 },
36
37 },
38 }
39 </script>

上面的方法是能实现pdf展示分页的功能的,但如果载入的pdf中有中文,可能会显示不出来或者乱码

解决方案也比较简单,在项目中引入“CMapReaderFactory.js”,引入方式如下:

import CMapReaderFactory from 'vue-pdf/src/CMapReaderFactory.js'

然后修改pdf链接的createLoadingTask方法,例如:

this.src= pdf.createLoadingTask({ url: url, CMapReaderFactory })

修改后就可以正常展示中文了

vue移动端预览 pdf 文件的更多相关文章

  1. 用pdf.js实现在移动端在线预览pdf文件

    用pdf.js实现在移动端在线预览pdf文件1.下载pdf.js    官网地址:https://mozilla.github.io/pdf.js/ 2.配置    下载下来的文件包,就是一个demo ...

  2. html页面预览pdf文件使用插件pdfh5.js

    html预览pdf文件需要依赖pdf.js 移动端适配需要pdfh5.js 记录移动端适配pdfh5.js的用发 在线预览: https://www.gjtool.cn/pdfh5/pdf.html? ...

  3. 文档控件NTKO OFFICE 详细使用说明之预览PDF文件(禁止打印、下载、另存为、防抓包下载)

    1.在线预览PDF文件(禁止打印.下载.复制.另存为) (1) 运行环境 ① 浏览器:支持IE7-IE11(平台版本还支持Chrome和Firefox) ② IE工具栏-Internet 选项:将ww ...

  4. 使用pdfjs插件在线预览PDF文件

    前言 本文介绍在html中使用 pdfjs插件在线预览PDF文件的方法. 实现步骤 下载 pdfjs 并引入项目中 到PDFJS官网 http://mozilla.github.io/pdf.js/g ...

  5. fis3+vue+pdf.js制作预览PDF文件或其他

    人生第一篇博客,的确有点紧张,但有些许兴奋,因为这对于我来说应该是一个好的开始,以此励志在技术的道路上越走越远. 看过了多多少少的技术博客,给自己带来了很多技术上的收获,也因此在想什么时候自己也可以赠 ...

  6. vue、Element 点击按钮以弹窗形式预览pdf文件

    直接上代码吧 <div > <el-button type="success" size="small" @click="isVie ...

  7. linux在线预览pdf文件开发思路

    准备:swftools,flexpaper 基本思路: 1,将pdf文件转化成swf文件 2,使用flexpaper预览swf文件 主要代码: 1,在linux中安装swftools.官网下载swft ...

  8. ASP.NET MVC 项目直接预览PDF文件

    背景及需求 项目使用的是MVC4框架,其中有一个功能是根据设置生成PDF文件,并在点击时直接预览. 实现过程 1.第一版实现代码: HTML内容 @{ Layout = null; } <!DO ...

  9. 前端使用pdf.js预览pdf文件

    现在的浏览器基本都支持直接把pdf文件拖到浏览器就可以打开了,不用安装额外的插件.但是不同的浏览器显示的页面不一样.如果我们想在网页上统一预览pdf怎样实现呢? Mozilla开源了一个插件pdf.j ...

  10. 前端使用pdf.js预览pdf文件,超级简单

    现在的浏览器基本都支持直接把pdf文件拖到浏览器就可以打开了,不用安装额外的插件.但是不同的浏览器显示的页面不一样.如果我们想在网页上统一预览pdf怎样实现呢? Mozilla开源了一个插件pdf.j ...

随机推荐

  1. element ui el-date-picker format 和 value-format 格式不一致,会导致日期输入框不显示

    element ui el-date-picker和value-format 不一致导致输入框不显示

  2. 一分钟教你分清各种光纤跳线接头(SC、ST、FC、LC、MPO)

    一分钟教你分清各种光纤跳线接头(SC.ST.FC.LC.MPO)  市场上常见的光纤跳线有以下几种接头:SC.ST.FC.LC.MPO,相信很多入门者和小编一样,面对各种英文缩写也是我只认识他们,却不 ...

  3. 【StoneDB 模块介绍】服务器模块

    [StoneDB 模块介绍]服务器模块 一.介绍 客户端程序和服务器程序本质上都是计算机上的一个进程,客户端进程向服务器进程发送请求的过程本质上是一种进程间通信的过程,StoneDB 数据库服务程序作 ...

  4. 修改/编辑jar包

    替换或者导入jar包时,jar包被自动压缩,springboot规定嵌套的jar包不能在被压缩的情况下存储. 解决(本文以升级ojdbc包为例): 使用jar命令解压jar包,在压缩包外重新替换jar ...

  5. DRF_基本使用

    基本使用 视图内 from rest_framework.viewsets import ModelViewSet from app01 import models from app01 import ...

  6. SpringBoot笔记--文件配置加载顺序+整合其他框架

    内部文件配置加载顺序 外部文件配置加载顺序 jar包配置 整合Junit 若是业务管理类和测试类在同一个包下面,那么这句话, 可以不加括号,只写注解名称 否则,就必须指定到包下面,不然会报错 整合Re ...

  7. URule规则引擎

    没有规则,不成方圆: 一.背景 前段时间,在做项目重构的时候,遇到很多地方需要做很多的条件判断.当然可以用很多的if-else判断去解决,但是当时也不清楚怎么回事,就想玩点别的.于是乎,就去调研了规则 ...

  8. java 中文繁简体转换工具 opencc4j 使用介绍 1.8.0

    Opencc4j Opencc4j 支持中文繁简体转换,考虑到词组级别. 在线体验 Features 特点 严格区分「一简对多繁」和「一简对多异」. 完全兼容异体字,可以实现动态替换. 严格审校一简对 ...

  9. Why WebRTC|“浅入深出”的工作原理详解

    前言 近几年实时音视频通信应用呈现出了大爆发的趋势.在这些实时通信技术的背后,有一项不得不提的技术--WebRTC. 今年 1 月,WebRTC 被 W3C 和 IETF 发布为正式标准.据调研机构 ...

  10. protobuf 详解

    protobuf protobuf概述 protobuf简介 Protobuf是Protocol Buffers的简称,它是Google公司开发的一种数据描述语言,是一种轻便高效的结构化数据存储格式, ...