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 相关文章推荐
JS 实现获取打开一个界面中输入的值
Mar 19 Javascript
关于jQuery参考实例2.0 用jQuery选择元素
Apr 07 Javascript
js日期相关函数总结分享
Oct 15 Javascript
javascript中处理时间戳为日期格式的方法
Jan 02 Javascript
Jquery实现瀑布流布局(备有详细注释)
Jul 31 Javascript
jQuery实现form表单基于ajax无刷新提交方法详解
Dec 08 Javascript
JavaScript代码实现左右上下自动晃动自动移动
Apr 08 Javascript
php main 与 iframe 相互通讯类(js+php同域/跨域)
Sep 14 Javascript
vue2.0 如何在hash模式下实现微信分享
Jan 22 Javascript
实现高性能javascript的注意事项
May 27 Javascript
浅谈一种让小程序支持JSX语法的新思路
Jun 16 Javascript
JavaScript的console命令使用实例
Dec 03 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
浅析php变量作用域的一些问题
2013/08/08 PHP
php与java通过socket通信的实现代码
2013/10/21 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
js字符编码函数区别分析
2008/06/05 Javascript
javascript 学习笔记(八)javascript对象
2011/04/12 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
现如今最流行的JavaScript代码规范
2014/03/08 Javascript
JS实现闪动的title消息提醒效果
2014/06/20 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
Vuex之理解Store的用法
2017/04/19 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
2018/02/21 Javascript
Vue 全家桶实现移动端酷狗音乐功能
2018/11/16 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
python简单实现矩阵的乘,加,转置和逆运算示例
2019/07/10 Python
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
python实现将中文日期转换为数字日期
2020/07/14 Python
html5使用canvas实现图片下载功能的示例代码
2017/08/26 HTML / CSS
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
Clarins娇韵诗美国官网:法国天然护肤品牌
2016/09/26 全球购物
美国在线眼镜店:GlassesShop
2018/11/15 全球购物
乐高瑞士官方商店:LEGO CH
2020/08/16 全球购物
面试求职的个人自我评价
2013/11/16 职场文书
招商业务员岗位职责
2013/12/16 职场文书
群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
心理健康教育培训研修感言
2015/11/18 职场文书
导游词之山东八仙过海景区
2019/11/11 职场文书