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的面向对象的特性实现限制试用期
Aug 04 Javascript
JavaScript 学习笔记之操作符
Jan 14 Javascript
javascript中cookie对象用法实例分析
Jan 30 Javascript
JS/Jquery判断对象为空的方法
Jun 11 Javascript
js实现仿爱微网两级导航菜单效果代码
Aug 31 Javascript
详解JavaScript函数对象
Nov 15 Javascript
对象题目的一个坑 理解Javascript对象
Dec 22 Javascript
举例讲解如何判断JavaScript中对象的类型
Apr 22 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
Jan 05 Javascript
vue项目中使用百度地图的方法
Jun 08 Javascript
vue项目持久化存储数据的实现代码
Oct 01 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
May 07 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内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
利用php下载xls文件(自己动手写的)
2014/04/18 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
thinkphp中memcache的用法实例
2014/11/29 PHP
codeigniter中view通过循环显示数组数据的方法
2015/03/20 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
jquery序列化表单以及回调函数的使用示例
2014/07/02 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
2015/12/13 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
微信小程序实现发红包功能
2018/07/11 Javascript
基于vue实现web端超大数据量表格的卡顿解决
2019/04/02 Javascript
python小技巧之批量抓取美女图片
2014/06/06 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
Python文件右键找不到IDLE打开项解决办法
2015/06/08 Python
python用reduce和map把字符串转为数字的方法
2016/12/19 Python
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
Python实现的直接插入排序算法示例
2018/04/29 Python
python 美化输出信息的实例
2018/10/15 Python
浅谈python之高阶函数和匿名函数
2019/03/21 Python
Python中Numpy mat的使用详解
2019/05/24 Python
Python 日期区间处理 (本周本月上周上月...)
2019/08/08 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
在python3中实现更新界面
2020/02/21 Python
Python读写Excel表格的方法
2021/03/02 Python
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
澳大利亚在线高跟鞋商店:Shoe Me
2019/11/19 全球购物
专科毕业生学习生活的自我评价
2013/10/26 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
道歉信范文
2015/05/12 职场文书
感恩教师节主题班会
2015/08/12 职场文书
Python 语言实现六大查找算法
2021/06/30 Python
在js中修改html body的样式
2021/11/11 Javascript