UNPKG

ngx-extended-pdf-viewer

Version:

Embedding PDF files in your Angular application. Highly configurable viewer including the toolbar, sidebar, and all the features you're used to.

161 lines 14 kB
import { Component } from '@angular/core'; import * as i0 from "@angular/core"; /** List of all fields that can be customized */ const requiredIds = [ 'attachmentsView', 'authorField', 'contextFirstPage', 'contextLastPage', 'contextPageRotateCcw', 'contextPageRotateCw', 'creationDateField', 'creatorField', 'currentOutlineItem', 'cursorHandTool', 'cursorSelectTool', 'customScaleOption', 'documentProperties', 'documentPropertiesClose', 'download', 'editorSignatureButton', 'primaryEditorFreeText', 'primaryEditorHighlight', 'primaryEditorInk', 'primaryEditorStamp', 'editorModeButtons', 'editorNone', // 'editorSignatureButton', // 'editorSignatureAddSignature', 'editorStampAddImage', 'errorClose', 'errorMessage', 'errorMoreInfo', 'errorShowLess', 'errorShowMore', 'errorWrapper', 'fileNameField', 'fileSizeField', 'findbar', 'findCurrentPage', 'findEntireWord', 'findFuzzy', 'findHighlightAll', 'findIgnoreAccents', 'findInput', 'findInputMultiline', 'findMatchCase', 'findMatchDiacritics', 'findMsg', 'findMultipleSearchTexts', 'findNext', 'findPrevious', 'findRange', 'findResultsCount', 'firstPage', 'individualWordsMode', 'individualWordsModeLabel', 'keywordsField', 'lastPage', 'linearizedField', 'modificationDateField', 'next', 'numPages', 'openFile', 'outerContainer', 'outerContainer', 'outlineOptionsContainer', 'outlineView', 'pageCountField', 'pageNumber', 'pageRotateCcw', 'pageRotateCw', 'pageSizeField', 'password', 'passwordCancel', 'passwordSubmit', 'passwordText', 'presentationMode', 'previous', 'printButton', 'producerField', 'scaleSelect', 'scaleSelectContainer', 'scrollHorizontal', 'scrollPage', 'scrollVertical', 'scrollWrapped', 'secondaryDownload', 'secondaryOpenFile', 'secondaryPresentationMode', 'secondaryPrintButton', 'secondaryToolbar', 'secondaryToolbarButtonContainer', 'secondaryToolbarToggle', 'secondaryViewBookmark', 'sidebarResizer', 'primarySidebarToggle', 'spreadEven', 'spreadNone', 'spreadOdd', 'subjectField', 'thumbnailView', 'titleField', 'toolbarViewer', 'versionField', 'viewAttachments', 'viewAttachments', 'viewBookmark', 'viewerContainer', 'viewFind', 'viewLayers', 'viewOutline', 'viewOutline', 'viewThumbnail', 'viewThumbnail', 'primaryZoomIn', 'primaryZoomOut', ]; export class PdfDummyComponentsComponent { dummyComponentsContainer; addMissingStandardWidgets() { this.dummyComponentsContainer = document.getElementsByClassName('dummy-pdf-viewer-components')[0]; const container = this.dummyComponentsContainer; if (!container) { return; } for (let i = 0; i < container.children.length; i++) { const child = container.firstChild; if (child) { container.removeChild(child); } } requiredIds.forEach((id) => { if (this.needsDummyWidget(id)) { const dummy = document.createElement('span'); dummy.id = id; dummy.className = 'invisible dummy-component'; this.dummyComponentsContainer.appendChild(dummy); } }); if (this.needsDummyWidget('scaleSelect')) { const dummy = document.createElement('select'); dummy.id = 'scaleSelect'; dummy.className = 'invisible dummy-component'; this.dummyComponentsContainer.appendChild(dummy); } } needsDummyWidget(id) { const widget = document.getElementById(id); if (!widget) { return true; } return false; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PdfDummyComponentsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PdfDummyComponentsComponent, selector: "pdf-dummy-components", ngImport: i0, template: "<span class=\"invisible dummy-pdf-viewer-components\">\n</span>\n" }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PdfDummyComponentsComponent, decorators: [{ type: Component, args: [{ selector: 'pdf-dummy-components', template: "<span class=\"invisible dummy-pdf-viewer-components\">\n</span>\n" }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWR1bW15LWNvbXBvbmVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWV4dGVuZGVkLXBkZi12aWV3ZXIvc3JjL2xpYi9wZGYtZHVtbXktY29tcG9uZW50cy9wZGYtZHVtbXktY29tcG9uZW50cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlci9zcmMvbGliL3BkZi1kdW1teS1jb21wb25lbnRzL3BkZi1kdW1teS1jb21wb25lbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDLGdEQUFnRDtBQUNoRCxNQUFNLFdBQVcsR0FBRztJQUNsQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsc0JBQXNCO0lBQ3RCLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIseUJBQXlCO0lBQ3pCLFVBQVU7SUFDVix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4QixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osNEJBQTRCO0lBQzVCLGtDQUFrQztJQUNsQyxxQkFBcUI7SUFDckIsWUFBWTtJQUNaLGNBQWM7SUFDZCxlQUFlO0lBQ2YsZUFBZTtJQUNmLGVBQWU7SUFDZixjQUFjO0lBQ2QsZUFBZTtJQUNmLGVBQWU7SUFDZixTQUFTO0lBQ1QsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gsb0JBQW9CO0lB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QUMsRUFBVTtRQUNqQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO3dHQXhDVSwyQkFBMkI7NEZBQTNCLDJCQUEyQiw0REMxSHhDLG1FQUVBOzs0RkR3SGEsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNFLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKiogTGlzdCBvZiBhbGwgZmllbGRzIHRoYXQgY2FuIGJlIGN1c3RvbWl6ZWQgKi9cbmNvbnN0IHJlcXVpcmVkSWRzID0gW1xuICAnYXR0YWNobWVudHNWaWV3JyxcbiAgJ2F1dGhvckZpZWxkJyxcbiAgJ2NvbnRleHRGaXJzdFBhZ2UnLFxuICAnY29udGV4dExhc3RQYWdlJyxcbiAgJ2NvbnRleHRQYWdlUm90YXRlQ2N3JyxcbiAgJ2NvbnRleHRQYWdlUm90YXRlQ3cnLFxuICAnY3JlYXRpb25EYXRlRmllbGQnLFxuICAnY3JlYXRvckZpZWxkJyxcbiAgJ2N1cnJlbnRPdXRsaW5lSXRlbScsXG4gICdjdXJzb3JIYW5kVG9vbCcsXG4gICdjdXJzb3JTZWxlY3RUb29sJyxcbiAgJ2N1c3RvbVNjYWxlT3B0aW9uJyxcbiAgJ2RvY3VtZW50UHJvcGVydGllcycsXG4gICdkb2N1bWVudFByb3BlcnRpZXNDbG9zZScsXG4gICdkb3dubG9hZCcsXG4gICdlZGl0b3JTaWduYXR1cmVCdXR0b24nLFxuICAncHJpbWFyeUVkaXRvckZyZWVUZXh0JyxcbiAgJ3ByaW1hcnlFZGl0b3JIaWdobGlnaHQnLFxuICAncHJpbWFyeUVkaXRvckluaycsXG4gICdwcmltYXJ5RWRpdG9yU3RhbXAnLFxuICAnZWRpdG9yTW9kZUJ1dHRvbnMnLFxuICAnZWRpdG9yTm9uZScsXG4gIC8vICAnZWRpdG9yU2lnbmF0dXJlQnV0dG9uJyxcbiAgLy8gICdlZGl0b3JTaWduYXR1cmVBZGRTaWduYXR1cmUnLFxuICAnZWRpdG9yU3RhbXBBZGRJbWFnZScsXG4gICdlcnJvckNsb3NlJyxcbiAgJ2Vycm9yTWVzc2FnZScsXG4gICdlcnJvck1vcmVJbmZvJyxcbiAgJ2Vycm9yU2hvd0xlc3MnLFxuICAnZXJyb3JTaG93TW9yZScsXG4gICdlcnJvcldyYXBwZXInLFxuICAnZmlsZU5hbWVGaWVsZCcsXG4gICdmaWxlU2l6ZUZpZWxkJyxcbiAgJ2ZpbmRiYXInLFxuICAnZmluZEN1cnJlbnRQYWdlJyxcbiAgJ2ZpbmRFbnRpcmVXb3JkJyxcbiAgJ2ZpbmRGdXp6eScsXG4gICdmaW5kSGlnaGxpZ2h0QWxsJyxcbiAgJ2ZpbmRJZ25vcmVBY2NlbnRzJyxcbiAgJ2ZpbmRJbnB1dCcsXG4gICdmaW5kSW5wdXRNdWx0aWxpbmUnLFxuICAnZmluZE1hdGNoQ2FzZScsXG4gICdmaW5kTWF0Y2hEaWFjcml0aWNzJyxcbiAgJ2ZpbmRNc2cnLFxuICAnZmluZE11bHRpcGxlU2VhcmNoVGV4dHMnLFxuICAnZmluZE5leHQnLFxuICAnZmluZFByZXZpb3VzJyxcbiAgJ2ZpbmRSYW5nZScsXG4gICdmaW5kUmVzdWx0c0NvdW50JyxcbiAgJ2ZpcnN0UGFnZScsXG4gICdpbmRpdmlkdWFsV29yZHNNb2RlJyxcbiAgJ2luZGl2aWR1YWxXb3Jkc01vZGVMYWJlbCcsXG4gICdrZXl3b3Jkc0ZpZWxkJyxcbiAgJ2xhc3RQYWdlJyxcbiAgJ2xpbmVhcml6ZWRGaWVsZCcsXG4gICdtb2RpZmljYXRpb25EYXRlRmllbGQnLFxuICAnbmV4dCcsXG4gICdudW1QYWdlcycsXG4gICdvcGVuRmlsZScsXG4gICdvdXRlckNvbnRhaW5lcicsXG4gICdvdXRlckNvbnRhaW5lcicsXG4gICdvdXRsaW5lT3B0aW9uc0NvbnRhaW5lcicsXG4gICdvdXRsaW5lVmlldycsXG4gICdwYWdlQ291bnRGaWVsZCcsXG4gICdwYWdlTnVtYmVyJyxcbiAgJ3BhZ2VSb3RhdGVDY3cnLFxuICAncGFnZVJvdGF0ZUN3JyxcbiAgJ3BhZ2VTaXplRmllbGQnLFxuICAncGFzc3dvcmQnLFxuICAncGFzc3dvcmRDYW5jZWwnLFxuICAncGFzc3dvcmRTdWJtaXQnLFxuICAncGFzc3dvcmRUZXh0JyxcbiAgJ3ByZXNlbnRhdGlvbk1vZGUnLFxuICAncHJldmlvdXMnLFxuICAncHJpbnRCdXR0b24nLFxuICAncHJvZHVjZXJGaWVsZCcsXG4gICdzY2FsZVNlbGVjdCcsXG4gICdzY2FsZVNlbGVjdENvbnRhaW5lcicsXG4gICdzY3JvbGxIb3Jpem9udGFsJyxcbiAgJ3Njcm9sbFBhZ2UnLFxuICAnc2Nyb2xsVmVydGljYWwnLFxuICAnc2Nyb2xsV3JhcHBlZCcsXG4gICdzZWNvbmRhcnlEb3dubG9hZCcsXG4gICdzZWNvbmRhcnlPcGVuRmlsZScsXG4gICdzZWNvbmRhcnlQcmVzZW50YXRpb25Nb2RlJyxcbiAgJ3NlY29uZGFyeVByaW50QnV0dG9uJyxcbiAgJ3NlY29uZGFyeVRvb2xiYXInLFxuICAnc2Vjb25kYXJ5VG9vbGJhckJ1dHRvbkNvbnRhaW5lcicsXG4gICdzZWNvbmRhcnlUb29sYmFyVG9nZ2xlJyxcbiAgJ3NlY29uZGFyeVZpZXdCb29rbWFyaycsXG4gICdzaWRlYmFyUmVzaXplcicsXG4gICdwcmltYXJ5U2lkZWJhclRvZ2dsZScsXG4gICdzcHJlYWRFdmVuJyxcbiAgJ3NwcmVhZE5vbmUnLFxuICAnc3ByZWFkT2RkJyxcbiAgJ3N1YmplY3RGaWVsZCcsXG4gICd0aHVtYm5haWxWaWV3JyxcbiAgJ3RpdGxlRmllbGQnLFxuICAndG9vbGJhclZpZXdlcicsXG4gICd2ZXJzaW9uRmllbGQnLFxuICAndmlld0F0dGFjaG1lbnRzJyxcbiAgJ3ZpZXdBdHRhY2htZW50cycsXG4gICd2aWV3Qm9va21hcmsnLFxuICAndmlld2VyQ29udGFpbmVyJyxcbiAgJ3ZpZXdGaW5kJyxcbiAgJ3ZpZXdMYXllcnMnLFxuICAndmlld091dGxpbmUnLFxuICAndmlld091dGxpbmUnLFxuICAndmlld1RodW1ibmFpbCcsXG4gICd2aWV3VGh1bWJuYWlsJyxcbiAgJ3ByaW1hcnlab29tSW4nLFxuICAncHJpbWFyeVpvb21PdXQnLFxuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRmLWR1bW15LWNvbXBvbmVudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGRmLWR1bW15LWNvbXBvbmVudHMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQZGZEdW1teUNvbXBvbmVudHNDb21wb25lbnQge1xuICBwcml2YXRlIGR1bW15Q29tcG9uZW50c0NvbnRhaW5lcjogRWxlbWVudDtcblxuICBwdWJsaWMgYWRkTWlzc2luZ1N0YW5kYXJkV2lkZ2V0cygpOiB2b2lkIHtcbiAgICB0aGlzLmR1bW15Q29tcG9uZW50c0NvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2R1bW15LXBkZi12aWV3ZXItY29tcG9uZW50cycpWzBdO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZHVtbXlDb21wb25lbnRzQ29udGFpbmVyIGFzIEhUTUxFbGVtZW50O1xuICAgIGlmICghY29udGFpbmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb250YWluZXIuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNoaWxkID0gY29udGFpbmVyLmZpcnN0Q2hpbGQ7XG4gICAgICBpZiAoY2hpbGQpIHtcbiAgICAgICAgY29udGFpbmVyLnJlbW92ZUNoaWxkKGNoaWxkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXF1aXJlZElkcy5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgaWYgKHRoaXMubmVlZHNEdW1teVdpZGdldChpZCkpIHtcbiAgICAgICAgY29uc3QgZHVtbXkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgIGR1bW15LmlkID0gaWQ7XG4gICAgICAgIGR1bW15LmNsYXNzTmFtZSA9ICdpbnZpc2libGUgZHVtbXktY29tcG9uZW50JztcbiAgICAgICAgdGhpcy5kdW1teUNvbXBvbmVudHNDb250YWluZXIuYXBwZW5kQ2hpbGQoZHVtbXkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMubmVlZHNEdW1teVdpZGdldCgnc2NhbGVTZWxlY3QnKSkge1xuICAgICAgY29uc3QgZHVtbXkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKTtcbiAgICAgIGR1bW15LmlkID0gJ3NjYWxlU2VsZWN0JztcbiAgICAgIGR1bW15LmNsYXNzTmFtZSA9ICdpbnZpc2libGUgZHVtbXktY29tcG9uZW50JztcbiAgICAgIHRoaXMuZHVtbXlDb21wb25lbnRzQ29udGFpbmVyLmFwcGVuZENoaWxkKGR1bW15KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5lZWRzRHVtbXlXaWRnZXQoaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHdpZGdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcbiAgICBpZiAoIXdpZGdldCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJpbnZpc2libGUgZHVtbXktcGRmLXZpZXdlci1jb21wb25lbnRzXCI+XG48L3NwYW4+XG4iXX0=