vue下使用 pdf.js 预览 和 打印 PDF文档 兼容React

2018-06-06

我使用前端开发框架是vue,有一个打印PDF文档的需求. 这个需求最开始是交给后台,但是明显不切实际, 因为后台服务器,根本就无法连接打印机. 所以这个预览加打印文档的需求就交到了前端, 开始我有想过直接打开pdf文件, 但事实上直接打开pdf文件的表现不太好.如果是在 win7+ie11 的环境下会直接下载文件, 而且直接打开pdf在 ie,firefox,chrome 三大环境下的表现都不太统一. 所以根据需求, 我最开始使用了vue-pdf

  1. 安装vue-pdf

    npm install --save vue-pdf

  2. 新建一个vue,命名为vpdf

<template>
  <pdf src="./static/relativity.pdf"></pdf>
</template>

<script>
import pdf from 'vue-pdf'

export default {
  components: {
    pdf
  }
}

3.引入到需要预览的页面使用vpdf标签

import vpdf form 'vpdf';
components: {
    vpdf
}

4.npm start 启动

使用vue-pdf很简单, 但是只能预览pdf不能打印,所以我放弃了这个思路.

接下来我尝试了 PDF.js

1.获取当前版本

git clone https://github.com/mozilla/pdf.js.git 

2.启动

cd pdf.js
npm install -g gulp-cli
npm install
gulp server

3.访问 http://localhost:8888/web/viewer.html 可以预览和打印pdf,但是这时候要加入到自己的项目,就要编译pdf.js 4.编译

build pdf.js 
gulp generic //在src文件夹获取开发版
gulp minified //获取生产版

5.vue-router路由

在vue下直接使用使用pdf.js的viewer.html有一个路径映射的问题,就是在服务器加载不出来,虽然可以把html改成vue模板加载,但是为了省事,我直接把编译好的min文件夹放在了static路径

6.通过带参数的url来访问PDF

http://localhost:8080/generic/web/viewer.html?file=qbs.pdf

参考

http://www.cnblogs.com/kagome2014/p/kagome2014001.html
http://blog.csdn.net/hyhbyl/article/details/20994945
原文链接:segmentfault.com

上一篇:el-input、el-select、el-autocomplete获取焦点 input输入框为空时高亮
下一篇:我去!又是勇士和骑士?--NBA资讯小程序
相关教程
关注微信

扫码加入 JavaScript 社区

相关文章

首次访问,需要验证
微信扫码,关注即可
(仅需验证一次)

欢迎加入 JavaScript 社区

号内回复关键字:

回到顶部