Angular2下使用pdf插件的方法詳解
前言
最近因?yàn)楣ぷ鞯脑颍枰贏ngualr2建的項(xiàng)目里做一個(gè)pdf顯示的功能,在網(wǎng)上找了個(gè)插件,不過由于是第一次使用額外插件,在用的時(shí)候遇到了一些坑,這里權(quán)且記一下使用的步驟,方便以后的參考。
安裝
這里需要安裝兩個(gè)包:pdfjs-dist和ng2-pdf-viewer,安裝時(shí)是要順便保存到package.json里的,因此在項(xiàng)目根目錄下輸入下面命令:
npm install pdfjs-dist --save npm install ng2-pdf-viewer --save
于此同時(shí),我們還要在system.config.js里添加映射,否則會(huì)加載不到這個(gè)插件。我們需要添加兩個(gè)地方,首先是要添加在其中的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' }
}
這樣我們才能正確的引用這個(gè)包。
注冊主配置文件
要使用他,我們還要在app.module.ts文件里注冊這個(gè)包,才能在其他文件里使用,一個(gè)最簡單的配置如下:
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里注冊即可。
頁面配置
在模板頁面中,只要在適當(dāng)?shù)奈恢锰砑宇愃葡旅娴臉?biāo)簽:
<pdf-viewer [src]="pdfSrc" [ page ]="page" [original-size]="true" style="display: block;"> </pdf-viewer>
然后在.ts文件里定義pdfSrc以及page變量,即可控制顯示的文件路徑以及頁數(shù)。
這里需要注意的是:文件源如果是跨域的話是會(huì)報(bào)一個(gè)error的,而且這里的page是豎排顯示的而不是帶滾輪的顯示,因此這實(shí)際上顯示的是一張一張的圖片。
當(dāng)然,pdf-viewer還有很多其他的屬性,比如支持縮放,旋轉(zhuǎn),以及提供了一系列相關(guān)的回調(diào)函數(shù),具體的可以在github里找到,當(dāng)然大家也可以通過本地下載。
樣例

總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
詳解基于Bootstrap+angular的一個(gè)豆瓣電影app
本篇文章主要介紹了基于Bootstrap+angular的一個(gè)豆瓣電影app ,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-06-06
詳解AngularJs中$resource和restfu服務(wù)端數(shù)據(jù)交互
之前小編和大家分享過使用$http同服務(wù)器進(jìn)行通信,但是功能上比較簡單,angularjs還提供了另外一個(gè)可選的服務(wù)$resource,使用它可以非常方便的同支持restful的服務(wù)單進(jìn)行數(shù)據(jù)交互。下面來一起看看吧。2016-09-09
Angluar+zorro實(shí)現(xiàn)無限級菜單
這篇文章主要為大家詳細(xì)介紹了Angluar+zorro實(shí)現(xiàn)無限級菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
AngularJS實(shí)用基礎(chǔ)知識(shí)_入門必備篇(推薦)
下面小編就為大家?guī)硪黄狝ngularJS實(shí)用基礎(chǔ)知識(shí)_入門必備篇(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07
AngularJS 單選框及多選框的雙向動(dòng)態(tài)綁定
本篇文章主要介紹了AngularJS 單選框及多選框的雙向動(dòng)態(tài)綁定的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-04-04
Angular8 簡單表單驗(yàn)證的實(shí)現(xiàn)示例
這篇文章主要介紹了Angular8 簡單表單驗(yàn)證的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06

