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 相关文章推荐
Extjs学习笔记之一 初识Extjs之MessageBox
Jan 07 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
Apr 18 Javascript
js 操作符汇总
Nov 08 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
Sep 20 Javascript
微信小程序 获取设备信息 API实例详解
Oct 02 Javascript
jquery删除table当前行的实例代码
Oct 07 Javascript
微信小程序如何获取openid及用户信息
Jan 26 Javascript
使用Javascript简单计算器
Nov 17 Javascript
自定义javascript验证框架示例【附源码下载】
May 31 Javascript
vue-cli3配置与跨域处理方法
Aug 17 Javascript
layui树形菜单动态遍历的例子
Sep 23 Javascript
jquery中attr、prop、data区别与用法分析
Sep 25 jQuery
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
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
PHP连接SQLServer2005方法及代码
2013/12/26 PHP
php提示Failed to write session data错误的解决方法
2014/12/17 PHP
PHP简单检测网址是否能够正常打开的方法
2016/09/04 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
非常实用的12个jquery代码片段
2015/11/02 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
COM组件中调用JavaScript函数详解及实例
2017/02/23 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
2018/01/18 jQuery
Vue2.0用户权限控制解决方案的示例
2018/02/10 Javascript
js实现点赞按钮功能的实例代码
2020/03/06 Javascript
js实现鼠标滑动到某个div禁止滚动
2020/09/17 Javascript
python笔记(2)
2012/10/24 Python
c++生成dll使用python调用dll的方法
2014/01/20 Python
centos系统升级python 2.7.3
2014/07/03 Python
用PyQt进行Python图形界面的程序的开发的入门指引
2015/04/14 Python
Python的Bottle框架中返回静态文件和JSON对象的方法
2015/04/30 Python
Python实现合并字典的方法
2015/07/07 Python
Python实现将SQLite中的数据直接输出为CVS的方法示例
2017/07/13 Python
spyder常用快捷键(分享)
2017/07/19 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
2019/01/17 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
python实现二分类的卡方分箱示例
2019/11/22 Python
Python开发之pip安装及使用方法详解
2020/02/21 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
德国内衣、泳装和睡衣网上商店:Bigsize Dessous
2018/07/09 全球购物
西班牙品牌鞋子、服装和配饰在线商店:Esdemarca
2021/02/17 全球购物
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
自我鉴定怎么写
2014/01/12 职场文书
个人承诺书
2014/03/26 职场文书
幼儿园秋季开学寄语
2014/08/02 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书