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 相关文章推荐
Jquery+CSS3实现一款简洁大气带滑动效果的弹出层
May 15 Javascript
javascript解析json数据的3种方式
May 08 Javascript
JavaScript 变量、作用域及内存
Apr 08 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
Aug 13 Javascript
jQuery自定义滚动条完整实例
Jan 08 Javascript
拥有一个属于自己的javascript表单验证插件
Mar 24 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
Nov 01 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
Jul 11 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
Aug 22 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
Aug 14 jQuery
小程序使用wxs解决wxml保留2位小数问题
Dec 13 Javascript
js实现单元格拖拽效果
Feb 10 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入门之连接mysql数据库的一个类
2012/04/21 PHP
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
微信支付开发维权通知实例
2016/07/12 PHP
php 中htmlentities导致中文无法查询问题
2018/09/10 PHP
Laravel定时任务的每秒执行代码
2019/10/22 PHP
google 搜索框添加关键字实现代码
2010/04/24 Javascript
js的逻辑运算符 ||
2010/05/31 Javascript
基于jQuery的history历史记录插件
2010/12/11 Javascript
javascript 快速排序函数代码
2012/05/30 Javascript
jQuery实现可拖动的浮动层完整代码
2013/05/27 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
JS实现div居中示例
2014/04/17 Javascript
一个JavaScript的求爱小特效
2014/05/09 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
jquery实现浮动的侧栏实例
2015/06/25 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
简单谈谈json跨域
2016/03/13 Javascript
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
vue-drag-chart 拖动/缩放图表组件的实例代码
2020/04/10 Javascript
[43:49]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python+opencv识别图片中的圆形
2020/03/25 Python
mac安装scrapy并创建项目的实例讲解
2018/06/13 Python
python selenium自动上传有赞单号的操作方法
2018/07/05 Python
python查看列的唯一值方法
2018/07/17 Python
matplotlib绘制多个子图(subplot)的方法
2019/12/03 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
2020/02/27 Python
美国一站式电动和手动工具商店:International Tool
2020/11/26 全球购物
精选鞋类、服装和配饰的全球领先目的地:Bodega
2021/02/27 全球购物
本科毕业生求职自荐信
2014/04/09 职场文书
民事调解书范文
2015/05/20 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
postgresql如何找到表中重复数据的行并删除
2023/05/08 MySQL