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 相关文章推荐
仅IE支持clearAttributes/mergeAttributes方法使用介绍
May 04 Javascript
js页面跳转的问题(跳转到父页面、最外层页面、本页面)
Aug 14 Javascript
捕获和分析JavaScript Error的方法
Mar 25 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
May 12 Javascript
再探JavaScript作用域
Sep 24 Javascript
基于jQuery实现仿51job城市选择功能实例代码
Mar 02 Javascript
jQuery Easyui datagrid/treegrid 清空数据
Jul 09 Javascript
微信小程序使用第三方库Underscore.js步骤详解
Sep 27 Javascript
原生javascript上传图片带进度条【实例分享】
Apr 06 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
Sep 28 Javascript
基于vue cli 通过命令行传参实现多环境配置
Jul 12 Javascript
微信小程序实现写入读取缓存详解
Aug 30 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/11/26 PHP
php检测useragent版本示例
2014/03/24 PHP
9个比较实用的php代码片段
2016/03/15 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
商城常用滚动的焦点图效果代码简单实用
2013/03/28 Javascript
SOSO地图JS画出标注和中心点以html形式运行
2013/08/09 Javascript
jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
2013/12/05 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
Javascript操作dom对象之select全面解析
2017/04/24 Javascript
AngularJS 验证码60秒倒计时功能的实现
2017/06/05 Javascript
Vue.js的动态组件模板的实现
2018/11/26 Javascript
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
2019/03/19 Javascript
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
node.js 如何监视文件变化
2020/09/01 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
Python中的闭包详细介绍和实例
2014/11/21 Python
Python常用的日期时间处理方法示例
2015/02/08 Python
用Python代码来绘制彭罗斯点阵的教程
2015/04/03 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
2018/04/19 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
python list转置和前后反转的例子
2019/08/26 Python
Django REST Swagger实现指定api参数
2020/07/07 Python
python空元组在all中返回结果详解
2020/12/15 Python
python sleep和wait对比总结
2021/02/03 Python
Python的collections模块真的很好用
2021/03/01 Python
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
导师推荐信范文
2014/05/09 职场文书
导师工作推荐信范文
2014/05/17 职场文书
工程合作意向书范本
2015/05/09 职场文书
读《教育心理学》心得体会
2016/01/22 职场文书
Pandas 稀疏数据结构的实现
2021/07/25 Python
【海涛dota解说】DCG联赛第一周 LGD VS DH
2022/04/01 DOTA