ng2-pdfjs-viewer
Version:
<p align="center"> <a href="https://www.npmjs.com/package/ng2-pdfjs-viewer"> <img src="https://img.shields.io/npm/dm/ng2-pdfjs-viewer.svg?style=flat" alt="downloads"> </a> <a href="https://badge.fury.io/js/ng2-pdfjs-viewer"> <img src="h
1 lines • 23.2 kB
Source Map (JSON)
{"version":3,"file":"ng2-pdfjs-viewer.mjs","sources":["../../src/ng2-pdfjs-viewer.component.ts","../../src/ng2-pdfjs-viewer.module.ts","../../ng2-pdfjs-viewer.ts"],"sourcesContent":["import { Component, Input, Output, OnInit, OnDestroy, ViewChild, EventEmitter, ElementRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ng2-pdfjs-viewer',\r\n standalone: false,\r\n template: `<iframe title=\"ng2-pdfjs-viewer\" [hidden]=\"externalWindow || (!externalWindow && !pdfSrc)\" #iframe width=\"100%\" height=\"100%\"></iframe>`\r\n})\r\nexport class PdfJsViewerComponent implements OnInit, OnDestroy {\r\n @ViewChild('iframe', { static: true }) iframe: ElementRef;\r\n static lastID = 0;\r\n @Input() public viewerId = `ng2-pdfjs-viewer-ID${++PdfJsViewerComponent.lastID}`;\r\n @Output() onBeforePrint: EventEmitter<any> = new EventEmitter();\r\n @Output() onAfterPrint: EventEmitter<any> = new EventEmitter();\r\n @Output() onDocumentLoad: EventEmitter<any> = new EventEmitter();\r\n @Output() onPageChange: EventEmitter<any> = new EventEmitter();\r\n @Input() public viewerFolder: string;\r\n @Input() public externalWindow: boolean = false;\r\n @Input() public target: string = '_blank';\r\n @Input() public showSpinner: boolean = true;\r\n @Input() public downloadFileName: string;\r\n @Input() public openFile: boolean = true;\r\n @Input() public download: boolean = true;\r\n @Input() public startDownload: boolean;\r\n @Input() public viewBookmark: boolean = true;\r\n @Input() public print: boolean = true;\r\n @Input() public startPrint: boolean;\r\n @Input() public fullScreen: boolean = true;\r\n //@Input() public showFullScreen: boolean;\r\n @Input() public find: boolean = true;\r\n @Input() public zoom: string;\r\n @Input() public nameddest: string;\r\n @Input() public pagemode: string;\r\n @Input() public lastPage: boolean;\r\n @Input() public rotatecw: boolean;\r\n @Input() public rotateccw: boolean;\r\n @Input() public cursor: string;\r\n @Input() public scroll: string;\r\n @Input() public spread: string;\r\n @Input() public locale: string;\r\n @Input() public useOnlyCssZoom: boolean = false;\r\n @Input() public errorOverride: boolean = false;\r\n @Input() public errorAppend: boolean = true;\r\n @Input() public errorMessage: string;\r\n @Input() public diagnosticLogs: boolean = true;\r\n\r\n @Input() public externalWindowOptions: string;\r\n public viewerTab: any;\r\n private _src: string | Blob | Uint8Array;\r\n private _page: number;\r\n\r\n @Input()\r\n public set page(_page: number) {\r\n this._page = _page;\r\n if(this.PDFViewerApplication) {\r\n this.PDFViewerApplication.page = this._page;\r\n } else {\r\n if(this.diagnosticLogs) console.warn(\"Document is not loaded yet!!!. Try to set page# after full load. Ignore this warning if you are not setting page# using '.' notation. (E.g. pdfViewer.page = 5;)\");\r\n }\r\n }\r\n\r\n public get page() {\r\n if(this.PDFViewerApplication) {\r\n return this.PDFViewerApplication.page;\r\n } else {\r\n if(this.diagnosticLogs) console.warn(\"Document is not loaded yet!!!. Try to retrieve page# after full load.\");\r\n }\r\n }\r\n\r\n @Input()\r\n public set pdfSrc(_src: string | Blob | Uint8Array) {\r\n this._src = _src;\r\n }\r\n\r\n public get pdfSrc() {\r\n return this._src;\r\n }\r\n\r\n public get PDFViewerApplicationOptions() {\r\n let pdfViewerOptions = null;\r\n if (this.externalWindow) {\r\n if (this.viewerTab) {\r\n pdfViewerOptions = this.viewerTab.PDFViewerApplicationOptions;\r\n }\r\n } else {\r\n if (this.iframe.nativeElement.contentWindow) {\r\n pdfViewerOptions = this.iframe.nativeElement.contentWindow.PDFViewerApplicationOptions;\r\n }\r\n }\r\n return pdfViewerOptions;\r\n }\r\n\r\n public get PDFViewerApplication() {\r\n let pdfViewer = null;\r\n if (this.externalWindow) {\r\n if (this.viewerTab) {\r\n pdfViewer = this.viewerTab.PDFViewerApplication;\r\n }\r\n } else {\r\n if (this.iframe.nativeElement.contentWindow) {\r\n pdfViewer = this.iframe.nativeElement.contentWindow.PDFViewerApplication;\r\n }\r\n }\r\n return pdfViewer;\r\n }\r\n\r\n public receiveMessage(viewerEvent) {\r\n if (viewerEvent.data && viewerEvent.data.viewerId && viewerEvent.data.event) {\r\n let viewerId = viewerEvent.data.viewerId;\r\n let event = viewerEvent.data.event;\r\n let param = viewerEvent.data.param;\r\n if (this.viewerId == viewerId) {\r\n if (this.onBeforePrint && event == \"beforePrint\") {\r\n this.onBeforePrint.emit();\r\n }\r\n else if (this.onAfterPrint && event == \"afterPrint\") {\r\n this.onAfterPrint.emit();\r\n }\r\n else if (this.onDocumentLoad && event == \"pagesLoaded\") {\r\n this.onDocumentLoad.emit(param);\r\n }\r\n else if (this.onPageChange && event == \"pageChange\") {\r\n this.onPageChange.emit(param);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n window.addEventListener(\"message\", this.receiveMessage.bind(this), false);\r\n if (!this.externalWindow) { // Load pdf for embedded views\r\n this.loadPdf();\r\n }\r\n }\r\n\r\n public refresh(): void { // Needs to be invoked for external window or when needs to reload pdf\r\n this.loadPdf();\r\n }\r\n\r\n private relaseUrl?: () => void; // Avoid memory leask with `URL.createObjectURL`\r\n private loadPdf() {\r\n if (!this._src) {\r\n return;\r\n }\r\n\r\n // console.log(`Tab is - ${this.viewerTab}`);\r\n // if (this.viewerTab) {\r\n // console.log(`Status of window - ${this.viewerTab.closed}`);\r\n // }\r\n\r\n if (this.externalWindow && (typeof this.viewerTab === 'undefined' || this.viewerTab.closed)) {\r\n this.viewerTab = window.open('', this.target, this.externalWindowOptions || '');\r\n if (this.viewerTab == null) {\r\n if(this.diagnosticLogs) console.error(\"ng2-pdfjs-viewer: For 'externalWindow = true'. i.e opening in new tab to work, pop-ups should be enabled.\");\r\n return;\r\n }\r\n\r\n if (this.showSpinner) {\r\n this.viewerTab.document.write(`\r\n <style>\r\n .loader {\r\n position: fixed;\r\n left: 40%;\r\n top: 40%;\r\n border: 16px solid #f3f3f3;\r\n border-radius: 50%;\r\n border-top: 16px solid #3498db;\r\n width: 120px;\r\n height: 120px;\r\n animation: spin 2s linear infinite;\r\n }\r\n @keyframes spin {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n </style>\r\n <div class=\"loader\"></div>\r\n `);\r\n }\r\n }\r\n\r\n this.relaseUrl?.();\r\n let fileUrl;\r\n //if (typeof this.src === \"string\") {\r\n // fileUrl = this.src;\r\n //}\r\n if (this._src instanceof Blob) {\r\n const url = URL.createObjectURL(this._src);\r\n fileUrl = encodeURIComponent(url);\r\n this.relaseUrl = () => URL.revokeObjectURL(url);\r\n } else if (this._src instanceof Uint8Array) {\r\n let blob = new Blob([this._src], { type: \"application/pdf\" });\r\n const url = URL.createObjectURL(blob);\r\n this.relaseUrl = () => URL.revokeObjectURL(url);\r\n fileUrl = encodeURIComponent(url);\r\n } else {\r\n fileUrl = this._src;\r\n }\r\n\r\n let viewerUrl;\r\n if (this.viewerFolder) {\r\n viewerUrl = `${this.viewerFolder}/web/viewer.html`;\r\n } else {\r\n viewerUrl = `assets/pdfjs/web/viewer.html`;\r\n }\r\n\r\n viewerUrl += `?file=${fileUrl}`;\r\n\r\n if (typeof this.viewerId !== 'undefined') {\r\n viewerUrl += `&viewerId=${this.viewerId}`;\r\n }\r\n if (typeof this.onBeforePrint !== 'undefined') {\r\n viewerUrl += `&beforePrint=true`;\r\n }\r\n if (typeof this.onAfterPrint !== 'undefined') {\r\n viewerUrl += `&afterPrint=true`;\r\n }\r\n if (typeof this.onDocumentLoad !== 'undefined') {\r\n viewerUrl += `&pagesLoaded=true`;\r\n }\r\n if (typeof this.onPageChange !== 'undefined') {\r\n viewerUrl += `&pageChange=true`;\r\n }\r\n\r\n if (this.downloadFileName) {\r\n if(!this.downloadFileName.endsWith(\".pdf\")) {\r\n this.downloadFileName += \".pdf\";\r\n }\r\n viewerUrl += `&fileName=${this.downloadFileName}`;\r\n }\r\n if (typeof this.openFile !== 'undefined') {\r\n viewerUrl += `&openFile=${this.openFile}`;\r\n }\r\n if (typeof this.download !== 'undefined') {\r\n viewerUrl += `&download=${this.download}`;\r\n }\r\n if (this.startDownload) {\r\n viewerUrl += `&startDownload=${this.startDownload}`;\r\n }\r\n if (typeof this.viewBookmark !== 'undefined') {\r\n viewerUrl += `&viewBookmark=${this.viewBookmark}`;\r\n }\r\n if (typeof this.print !== 'undefined') {\r\n viewerUrl += `&print=${this.print}`;\r\n }\r\n if (this.startPrint) {\r\n viewerUrl += `&startPrint=${this.startPrint}`;\r\n }\r\n if (typeof this.fullScreen !== 'undefined') {\r\n viewerUrl += `&fullScreen=${this.fullScreen}`;\r\n }\r\n // if (this.showFullScreen) {\r\n // viewerUrl += `&showFullScreen=${this.showFullScreen}`;\r\n // }\r\n if (typeof this.find !== 'undefined') {\r\n viewerUrl += `&find=${this.find}`;\r\n }\r\n if (this.lastPage) {\r\n viewerUrl += `&lastpage=${this.lastPage}`;\r\n }\r\n if (this.rotatecw) {\r\n viewerUrl += `&rotatecw=${this.rotatecw}`;\r\n }\r\n if (this.rotateccw) {\r\n viewerUrl += `&rotateccw=${this.rotateccw}`;\r\n }\r\n if (this.cursor) {\r\n viewerUrl += `&cursor=${this.cursor}`;\r\n }\r\n if (this.scroll) {\r\n viewerUrl += `&scroll=${this.scroll}`;\r\n }\r\n if (this.spread) {\r\n viewerUrl += `&spread=${this.spread}`;\r\n }\r\n if (this.locale) {\r\n viewerUrl += `&locale=${this.locale}`;\r\n }\r\n if (this.useOnlyCssZoom) {\r\n viewerUrl += `&useOnlyCssZoom=${this.useOnlyCssZoom}`;\r\n }\r\n\r\n if (this._page || this.zoom || this.nameddest || this.pagemode) viewerUrl += \"#\"\r\n if (this._page) {\r\n viewerUrl += `&page=${this._page}`;\r\n }\r\n if (this.zoom) {\r\n viewerUrl += `&zoom=${this.zoom}`;\r\n }\r\n if (this.nameddest) {\r\n viewerUrl += `&nameddest=${this.nameddest}`;\r\n }\r\n if (this.pagemode) {\r\n viewerUrl += `&pagemode=${this.pagemode}`;\r\n }\r\n if (this.errorOverride || this.errorAppend) {\r\n viewerUrl += `&errorMessage=${this.errorMessage}`;\r\n\r\n if (this.errorOverride) {\r\n viewerUrl += `&errorOverride=${this.errorOverride}`;\r\n }\r\n if (this.errorAppend) {\r\n viewerUrl += `&errorAppend=${this.errorAppend}`;\r\n }\r\n }\r\n\r\n if (this.externalWindow) {\r\n this.viewerTab.location.href = viewerUrl;\r\n } else {\r\n this.iframe.nativeElement.contentWindow ? this.iframe.nativeElement.contentWindow.location.replace(viewerUrl) : this.iframe.nativeElement.src = viewerUrl;\r\n }\r\n\r\n // console.log(`\r\n // pdfSrc = ${this.pdfSrc}\r\n // fileUrl = ${fileUrl}\r\n // externalWindow = ${this.externalWindow}\r\n // downloadFileName = ${this.downloadFileName}\r\n // viewerFolder = ${this.viewerFolder}\r\n // openFile = ${this.openFile}\r\n // download = ${this.download}\r\n // startDownload = ${this.startDownload}\r\n // viewBookmark = ${this.viewBookmark}\r\n // print = ${this.print}\r\n // startPrint = ${this.startPrint}\r\n // fullScreen = ${this.fullScreen}\r\n // find = ${this.find}\r\n // lastPage = ${this.lastPage}\r\n // rotatecw = ${this.rotatecw}\r\n // rotateccw = ${this.rotateccw}\r\n // cursor = ${this.cursor}\r\n // scrollMode = ${this.scroll}\r\n // spread = ${this.spread}\r\n // page = ${this.page}\r\n // zoom = ${this.zoom}\r\n // nameddest = ${this.nameddest}\r\n // pagemode = ${this.pagemode}\r\n // pagemode = ${this.errorOverride}\r\n // pagemode = ${this.errorAppend}\r\n // pagemode = ${this.errorMessage}\r\n // `);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.relaseUrl?.();\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { PdfJsViewerComponent } from \"./ng2-pdfjs-viewer.component\";\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [PdfJsViewerComponent],\r\n exports: [PdfJsViewerComponent],\r\n})\r\nexport class PdfJsViewerModule {\r\n static forRoot(): ModuleWithProviders<PdfJsViewerModule> {\r\n return {\r\n ngModule: PdfJsViewerModule,\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}