Angular2下使用pdf插件的方法详解

 更新时间:2017年04月29日 08:51:49   作者:Myths  
这篇文章主要给大家介绍了在Angular2下使用pdf插件的方法,使用这个插件是要实现一个pdf显示的功能,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。

前言

最近因为工作的原因,需要在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里找到,当然大家也可以通过本地下载

样例


总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

您可能感兴趣的文章:

相关文章

  • Angular JS 生成动态二维码的方法

    Angular JS 生成动态二维码的方法

    这篇文章主要介绍了Angular JS 生成动态二维码的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • 详解angular应用容器化部署

    详解angular应用容器化部署

    这篇文章主要介绍了详解angular应用容器化部署,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • AngularJS发送异步Get/Post请求方法

    AngularJS发送异步Get/Post请求方法

    今天小编就为大家分享一篇AngularJS发送异步Get/Post请求方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Angular实现表单验证功能

    Angular实现表单验证功能

    这篇文章主要为大家详细介绍了Angular实现表单验证功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 详解Angular系列之变化检测(Change Detection)

    详解Angular系列之变化检测(Change Detection)

    这篇文章主要介绍了详解Angular系列之变化检测(Change Detection),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Angularjs实现上传图片预览功能

    Angularjs实现上传图片预览功能

    本文通过实例代码给大家介绍了Angularjs实现上传图片预览功能,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-09-09
  • AngularJS入门教程之ng-class 指令用法

    AngularJS入门教程之ng-class 指令用法

    本文主要介绍AngularJS ng-class 指令,这里帮大家整理了ng-class资料和示例代码,学习AngularJS指令的同学可以参考下
    2016-08-08
  • 详解如何在Angular优雅编写HTTP请求

    详解如何在Angular优雅编写HTTP请求

    这篇文章主要介绍了详解如何在Angular优雅编写HTTP请求,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • AngularJS语法详解

    AngularJS语法详解

    本文通过示例向大家介绍了AngularJS语法的使用,小伙伴们认真研读下吧,非常的实用哦。
    2015-01-01
  • Angularjs实现控制器之间通信方式实例总结

    Angularjs实现控制器之间通信方式实例总结

    这篇文章主要介绍了Angularjs实现控制器之间通信方式,结合实例形式总结分析了AngularJS控制器常用通信方式及相关操作注意事项,需要的朋友可以参考下
    2018-03-03

最新评论