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 模拟JQuery的Ready方法实现并出现的问题
Dec 06 Javascript
基于jQuery的投票系统显示结果插件
Aug 12 Javascript
javascript验证身份证完全方法具体实现
Nov 18 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
May 27 Javascript
JQuery中使用on方法绑定hover事件实例
Dec 09 Javascript
前端js文件合并的三种方式推荐
May 19 Javascript
JavaScript实现星级评分
Jan 12 Javascript
boostrapTable的refresh和refreshOptions区别浅析
Jan 22 Javascript
基于openlayers4实现点的扩散效果
Aug 17 Javascript
Vue实现简单的留言板
Oct 23 Javascript
vue解决跨域问题(推荐)
Nov 10 Javascript
vue element-ul实现展开和收起功能的实例代码
Nov 25 Vue.js
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禁止某ip或ip地址段访问的方法
2015/02/25 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
使用正则替换变量
2007/05/05 Javascript
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
jQuery中hide()方法用法实例
2014/12/24 Javascript
js对象继承之原型链继承实例
2015/01/10 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
input输入框鼠标焦点提示信息
2015/03/17 Javascript
js实现简单的验证码
2015/12/25 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
javascript 动态脚本添加的简单方法
2016/10/11 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
jQuery开源组件BootstrapValidator使用详解
2017/06/29 jQuery
vue的事件绑定与方法详解
2017/08/16 Javascript
VeeValidate在vue项目里表单校验应用案例
2018/05/09 Javascript
d3.js实现图形缩放平移
2019/12/19 Javascript
微信小程序使用前置摄像头拍照
2020/10/22 Javascript
[01:50]《我与DAC》之玩家:iG夺冠时的那面红旗
2018/03/29 DOTA
详谈Python基础之内置函数和递归
2017/06/21 Python
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
2019/07/11 Python
对于Python深浅拷贝的理解
2019/07/29 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
python Matplotlib基础--如何添加文本和标注
2021/01/26 Python
linux面试题参考答案(5)
2016/11/05 面试题
内业资料员岗位职责
2014/01/04 职场文书
求职信范文英文版
2014/01/05 职场文书
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
《最大的“书”》教学反思
2014/02/14 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书