Angular2下使用pdf插件的方法详解


Posted in Javascript onApril 29, 2017

前言

最近因为工作的原因,需要在Angualr2建的项目里做一个pdf显示的功能,在网上找了个插件,不过由于是第一次使用额外插件,在用的时候遇到了一些坑,这里权且记一下使用的步骤,方便以后的参考。

安装

这里需要安装两个包:pdfjs-distng2-pdf-viewer,安装时是要顺便保存到package.json里的,因此在项目根目录下输入下面命令:

npm install pdfjs-dist --save
npm install ng2-pdf-viewer --save

于此同时,我们还要在system.config.js里添加映射,否则会加载不到这个插件。我们需要添加两个地方,首先是要添加在其中的map变量下:

var map = {
 ......
 'ng2-pdf-viewer': 'node_modules/ng2-pdf-viewer',
 'pdfjs-dist': 'node_modules/pdfjs-dist'
}

然后还要添加在packages变量下:

var packages = {
 'ng2-pdf-viewer': { main: 'dist/index.js', defaultExtension: 'js' },
 'pdfjs-dist': { defaultExtension: 'js' }
}

这样我们才能正确的引用这个包。

注册主配置文件

要使用他,我们还要在app.module.ts文件里注册这个包,才能在其他文件里使用,一个最简单的配置如下:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app/app.component';
import { PdfViewerComponent } from 'ng2-pdf-viewer';
@NgModule({
 imports: [BrowserModule],
 declarations: [AppComponent, PdfViewerComponent],
 bootstrap: [AppComponent]
})
class AppModule {}
platformBrowserDynamic().bootstrapModule(AppModule);

注意:要import,然后在@NgModule里的declarations里注册即可。

页面配置

在模板页面中,只要在适当的位置添加类似下面的标签:

<pdf-viewer [src]="pdfSrc"
 [ page ]="page"
 [original-size]="true"
 style="display: block;">

</pdf-viewer>

然后在.ts文件里定义pdfSrc以及page变量,即可控制显示的文件路径以及页数。

这里需要注意的是:文件源如果是跨域的话是会报一个error的,而且这里的page是竖排显示的而不是带滚轮的显示,因此这实际上显示的是一张一张的图片。

当然,pdf-viewer还有很多其他的属性,比如支持缩放,旋转,以及提供了一系列相关的回调函数,具体的可以在github里找到,当然大家也可以通过本地下载。

样例

Angular2下使用pdf插件的方法详解

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
javascript确认框的三种使用方法
Dec 17 Javascript
Javascript排序算法之合并排序(归并排序)的2个例子
Apr 04 Javascript
使用jquery提交form表单并自定义action的实现代码
May 25 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
Jan 24 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
Feb 07 Javascript
Angularjs 事件指令详细整理
Jul 27 Javascript
利用Javascript获取选择文本所在的句子详解
Dec 03 Javascript
详解微信小程序实现WebSocket心跳重连
Jul 31 Javascript
对类Vue的MVVM前端库的实现代码
Sep 07 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
Aug 22 Javascript
解决小程序无法触发SESSION问题
Feb 03 Javascript
微信小程序实现上传多个文件 超过10个
Mar 30 Javascript
vue.js利用defineProperty实现数据的双向绑定
Apr 28 #Javascript
node.js+jQuery实现用户登录注册AJAX交互
Apr 28 #jQuery
Javascript实现数组中的元素上下移动
Apr 28 #Javascript
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
Apr 28 #jQuery
JS简单判断滚动条的滚动方向实现方法
Apr 28 #Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
Apr 28 #Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
Apr 28 #Javascript
You might like
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
PHP数组函数知识汇总
2016/05/12 PHP
php数组遍历类与用法示例
2019/05/24 PHP
Prototype源码浅析 Enumerable部分之each方法
2012/01/16 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
2016/01/10 Javascript
Ajax使用原生态JS验证用户名是否存在
2020/05/26 Javascript
js实现百度搜索提示框
2017/02/05 Javascript
利用angularjs1.4制作的简易滑动门效果
2017/02/28 Javascript
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
JS实现的类似微信聊天效果示例
2019/01/29 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
2019/05/09 Javascript
jquery实现Ajax请求的几种常见方式总结
2019/05/28 jQuery
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
Sublime Text3 配置 NodeJs 环境的方法
2020/05/20 NodeJs
Python3利用SMTP协议发送E-mail电子邮件的方法
2017/09/30 Python
Python代码实现KNN算法
2017/12/20 Python
详解Python核心编程中的浅拷贝与深拷贝
2018/01/07 Python
通过Python 接口使用OpenCV的方法
2018/04/02 Python
PyQt5每天必学之单行文本框
2018/04/19 Python
Python删除n行后的其他行方法
2019/01/28 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
Python定义函数时参数有默认值问题解决
2019/12/19 Python
python实现用户名密码校验
2020/03/18 Python
python中二分查找法的实现方法
2020/12/06 Python
真正了解CSS3背景下的@font face规则
2017/05/04 HTML / CSS
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
加热夹克:RAVEAN
2018/10/19 全球购物
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
给女朋友的道歉信
2014/01/10 职场文书
五年级数学教学反思
2014/02/11 职场文书
中国合伙人观后感
2015/06/02 职场文书
学前教育见习总结
2015/06/23 职场文书
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python