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 相关文章推荐
ppk谈JavaScript style属性
Oct 10 Javascript
js window对象属性和方法相关资料整理
Nov 11 Javascript
jQuery使用模式窗口实现在主页面和子页面中互相传值的方法
Mar 01 Javascript
微信小程序 保留小数(toFixed)详细介绍
Nov 16 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
Dec 01 Javascript
Node.js和Express简单入门介绍
Mar 24 Javascript
[js高手之路]寄生组合式继承的优势详解
Aug 28 Javascript
10个在JavaScript开发中常遇到的BUG
Dec 18 Javascript
vue编译打包本地查看index文件的方法
Feb 23 Javascript
详解.vue文件中style标签的几个标识符
Jul 17 Javascript
详解vue 路由跳转四种方式 (带参数)
Apr 28 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
May 29 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+oracle 分页类
2006/10/09 PHP
php ZipArchive压缩函数详解实例
2013/11/06 PHP
php上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
PHP7.0安装笔记整理
2015/08/28 PHP
javascript检查日期格式的函数[比较全]
2008/10/17 Javascript
JavaScript 继承详解(一)
2009/07/13 Javascript
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
引用外部脚本时script标签关闭的写法
2014/01/20 Javascript
jquery实现点击消失的代码
2014/03/03 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
微信小程序多音频播放进度条问题
2018/08/28 Javascript
js实现直播点击飘心效果
2020/08/19 Javascript
javascript代码实现简易计算器
2021/01/25 Javascript
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
python实现电子产品商店
2019/02/26 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
python实现共轭梯度法
2019/07/03 Python
Django对models里的objects的使用详解
2019/08/17 Python
3行Python代码实现图像照片抠图和换底色的方法
2019/10/10 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
Python异步编程之协程任务的调度操作实例分析
2020/02/01 Python
Jupyter Notebook安装及使用方法解析
2020/11/12 Python
Kidsroom台湾:来自德国的婴儿用品
2017/12/11 全球购物
软件配置管理有什么好处
2015/04/15 面试题
城市轨道专业个人求职信范文
2013/09/23 职场文书
党员承诺书范文
2014/05/19 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
教你快速开启Apache SkyWalking的自监控
2021/04/25 Servers
详解Vue slot插槽
2021/11/20 Vue.js
Vertica集成Apache Hudi重磅使用指南
2022/03/31 Servers