UNPKG

ng2-pdfjs-viewer

Version:

The most comprehensive Angular PDF viewer, powered by Mozilla PDF.js 6 — view, annotate, sign, fill forms, search, and read aloud from one component. 8.3M+ downloads, mobile-first, production-ready.

633 lines (628 loc) 30.4 kB
import * as i0 from '@angular/core'; import { OnInit, OnDestroy, OnChanges, AfterViewInit, ElementRef, EventEmitter, TemplateRef, ChangeDetectorRef, ApplicationRef, NgZone, SimpleChanges, ModuleWithProviders } from '@angular/core'; import { PdfAiPanelConfig, PdfAiPanelMessage } from 'ng2-pdfjs-viewer/ai'; export { PdfAiAssistant, PdfAiAssistantConfig, PdfAiMessage, PdfAiPanelConfig, PdfAiPanelMessage, PdfPageText } from 'ng2-pdfjs-viewer/ai'; import * as i2 from '@angular/common'; interface ActionExecutionResult { actionId: string; success: boolean; error?: string; timestamp: number; data?: any; } type AnnotationEditorMode = "disable" | "none" | "freetext" | "highlight" | "stamp" | "ink" | "signature" | "comment"; interface AnnotationEditorState { isEditing: boolean; isEmpty: boolean; hasSomethingToUndo: boolean; hasSomethingToRedo: boolean; hasSelectedEditor: boolean; } interface AnnotationEditorModeChange { mode: AnnotationEditorMode; } interface SearchOptions { caseSensitive?: boolean; entireWord?: boolean; highlightAll?: boolean; matchDiacritics?: boolean; } type FormDataMap = Record<string, string | boolean | null>; interface WatermarkConfig { text: string; color?: string; opacity?: number; fontSize?: string; rotation?: number; } interface ContentProtectionConfig { blockPrint?: boolean; blockDownload?: boolean; disableTextSelection?: boolean; watermark?: WatermarkConfig | null; } interface PagesEditedEvent { operation: string; pagesCount: number; } interface ReadAloudState { status: "reading" | "paused" | "stopped" | "finished" | "error"; page: number; sentence?: string; } interface DocumentPageText { page: number; text: string; } type SidebarViewName = "none" | "thumbs" | "outline" | "attachments" | "layers" | "unknown"; interface SidebarViewChange { view: SidebarViewName; } interface LayersChange { reason: "loaded" | "changed"; layersCount?: number; } interface NamedActionEvent { action: string; } interface PdfSignatureStorage { loadAll(): Promise<Record<string, unknown>>; save(uuid: string, data: unknown): Promise<void>; delete(uuid: string): Promise<void>; } interface SearchResult { total: number; current: { page: number; matchIndex: number; } | null; matchesPerPage: number[]; pagesWithMatches: number[]; } type ChangedPage = number; type ChangedScale = number; interface ChangedRotation { rotation: number; page: number; } interface ControlVisibilityConfig { openFile?: boolean; download?: boolean; print?: boolean; fullScreen?: boolean; find?: boolean; viewBookmark?: boolean; annotations?: boolean; } interface GroupVisibilityConfig { toolbarLeft?: boolean; toolbarMiddle?: boolean; toolbarRight?: boolean; secondaryToolbarToggle?: boolean; sidebar?: boolean; sidebarLeft?: boolean; sidebarRight?: boolean; } type ToolbarDensity = "default" | "compact" | "comfortable"; type ToolbarPosition = "top" | "bottom"; type SidebarPosition = "left" | "right"; type ExternalLinkTarget = "none" | "self" | "blank" | "parent" | "top"; interface LayoutConfig { toolbarDensity?: ToolbarDensity; sidebarWidth?: string; toolbarPosition?: ToolbarPosition; sidebarPosition?: SidebarPosition; responsiveBreakpoint?: string | number; } interface AutoActionConfig { downloadOnLoad?: boolean; printOnLoad?: boolean; showLastPageOnLoad?: boolean; rotateCW?: boolean; rotateCCW?: boolean; } interface ErrorConfig { message?: string; override?: boolean; append?: boolean; } interface ViewerConfig { showSpinner?: boolean; useOnlyCssZoom?: boolean; diagnosticLogs?: boolean; locale?: string; externalLinkTarget?: ExternalLinkTarget; rememberLastView?: boolean; } interface ThemeConfig { theme?: "light" | "dark" | "auto"; primaryColor?: string; backgroundColor?: string; pageBorderColor?: string; pageSpacing?: { margin?: string; spreadMargin?: string; border?: string; }; toolbarColor?: string; textColor?: string; borderRadius?: string; customCSS?: string; cspNonce?: string; iframeTitle?: string; } interface DocumentError { message: string; source?: any; name?: string; } interface PagesInfo { pagesCount: number; } interface PresentationMode { active: boolean; switchInProgress?: boolean; } interface FindOperation { query: string; phraseSearch: boolean; caseSensitive: boolean; entireWord?: boolean; highlightAll?: boolean; findPrevious?: boolean; } interface FindMatchesCount { current: number; total: number; } interface DocumentMetadata { title?: string; author?: string; subject?: string; keywords?: string; creator?: string; producer?: string; creationDate?: string; modificationDate?: string; pdfFormatVersion?: string; isLinearized?: boolean; isAcroFormPresent?: boolean; isXFAPresent?: boolean; isCollectionPresent?: boolean; } interface DocumentOutline { items?: any[]; hasOutline: boolean; } interface PageRenderInfo { pageNumber: number; source?: string; timestamp?: number; } interface AnnotationLayerRenderEvent { pageNumber: number; error?: Error; timestamp: number; } interface BookmarkClick { title: string; dest: string | null; action?: string; url?: string; pageNumber?: number; isCurrentItem: boolean; } declare class PdfJsViewerComponent implements OnInit, OnDestroy, OnChanges, AfterViewInit { iframe: ElementRef; static lastID: number; viewerId: string; onBeforePrint: EventEmitter<void>; onAfterPrint: EventEmitter<void>; onDocumentLoad: EventEmitter<void>; onPageChange: EventEmitter<ChangedPage>; onScaleChange: EventEmitter<ChangedScale>; onRotationChange: EventEmitter<ChangedRotation>; onDocumentError: EventEmitter<DocumentError>; onDocumentInit: EventEmitter<void>; onPagesInit: EventEmitter<PagesInfo>; onPresentationModeChanged: EventEmitter<PresentationMode>; onOpenFile: EventEmitter<void>; onFind: EventEmitter<FindOperation>; onUpdateFindMatchesCount: EventEmitter<FindMatchesCount>; onMetadataLoaded: EventEmitter<DocumentMetadata>; onOutlineLoaded: EventEmitter<DocumentOutline>; onPageRendered: EventEmitter<PageRenderInfo>; onAnnotationLayerRendered: EventEmitter<AnnotationLayerRenderEvent>; onBookmarkClick: EventEmitter<BookmarkClick>; onIdle: EventEmitter<void>; onPasswordPrompt: EventEmitter<void>; onAnnotationEditorStateChange: EventEmitter<AnnotationEditorState>; onPagesEdited: EventEmitter<PagesEditedEvent>; onReadAloudStateChange: EventEmitter<ReadAloudState>; onSidebarViewChanged: EventEmitter<SidebarViewChange>; onLayersChanged: EventEmitter<LayersChange>; onNamedAction: EventEmitter<NamedActionEvent>; onDocumentProperties: EventEmitter<void>; viewerFolder: string; externalWindow: boolean; target: string; showSpinner: boolean; downloadFileName: string; locale: string; useOnlyCssZoom: boolean; externalLinkTarget: ExternalLinkTarget; rememberLastView: boolean; set annotationEditor(mode: AnnotationEditorMode); get annotationEditor(): AnnotationEditorMode; private _annotationEditor; annotationEditorChange: EventEmitter<AnnotationEditorMode>; highlightEditorColors?: string; enableSignatureEditor: boolean; signatureStorage?: PdfSignatureStorage; pageColors?: { background: string; foreground: string; } | null; pdfJsOptions?: Record<string, string | number | boolean>; enableCommentEditor: boolean; enablePageEditing: boolean; showToolbar: boolean; chromeless: boolean; customToolbarTpl?: TemplateRef<any>; customSidebarTpl?: TemplateRef<any>; aiAssistantConfig?: PdfAiPanelConfig | null; aiPanelOpen: boolean; aiBusy: boolean; aiMessages: PdfAiPanelMessage[]; private aiClient?; private aiClientConfig?; private aiDocText?; private aiGeneration; private aiAbort?; private invalidateAiState; private _pageOverlayTpl?; set pageOverlayTpl(value: TemplateRef<any> | undefined); get pageOverlayTpl(): TemplateRef<any> | undefined; httpHeaders?: Record<string, string>; withCredentials: boolean; onProgress: EventEmitter<{ loaded: number; total: number; }>; private authLoadToken; set formData(value: FormDataMap); get formData(): FormDataMap; private _formData; formDataChange: EventEmitter<FormDataMap>; set contentProtection(config: ContentProtectionConfig); get contentProtection(): ContentProtectionConfig; private _contentProtection; set iframeSandbox(value: string); get iframeSandbox(): string; private _extraSandboxTokens; get effectiveSandbox(): string; set diagnosticLogs(value: boolean); get diagnosticLogs(): boolean; private _diagnosticLogs; showOpenFile: boolean; showAnnotations: boolean; showDownload: boolean; showViewBookmark: boolean; showPrint: boolean; showFullScreen: boolean; showFind: boolean; downloadOnLoad: boolean; printOnLoad: boolean; rotateCW: boolean; rotateCCW: boolean; showLastPageOnLoad: boolean; namedDest: string; errorOverride: boolean; errorAppend: boolean; errorMessage: string; urlValidation: boolean; customSecurityTpl: TemplateRef<any>; securityWarning: { message: string; originalUrl: string; currentUrl: string; } | null; theme: "light" | "dark" | "auto"; primaryColor?: string; backgroundColor?: string; pageBorderColor?: string; pageSpacing?: { margin?: string; spreadMargin?: string; border?: string; }; toolbarColor?: string; textColor?: string; borderRadius?: string; customCSS?: string; cspNonce?: string; iframeTitle?: string; customSpinnerTpl?: TemplateRef<any>; spinnerClass?: string; customErrorTpl?: TemplateRef<any>; errorClass?: string; showToolbarLeft: boolean; showToolbarMiddle: boolean; showToolbarRight: boolean; showSecondaryToolbarToggle: boolean; showSidebar: boolean; showSidebarLeft: boolean; showSidebarRight: boolean; toolbarDensity: ToolbarDensity; sidebarWidth?: string; toolbarPosition: ToolbarPosition; sidebarPosition: SidebarPosition; responsiveBreakpoint?: string | number; isLoading: boolean; hasError: boolean; currentErrorMessage: string; errorTemplateData: any; getErrorTemplateData(): any; private updateErrorTemplateData; getIframeClasses(): string; reloadViewer(): void; goBack(): void; closeViewer(): void; set controlVisibility(config: ControlVisibilityConfig); set autoActions(config: AutoActionConfig); set errorHandling(config: ErrorConfig); set viewerConfig(config: ViewerConfig); set themeConfig(config: ThemeConfig); set groupVisibility(config: GroupVisibilityConfig); set layoutConfig(config: LayoutConfig); private static warnedDeprecations; private setDeprecatedProperty; /** @deprecated Use `downloadOnLoad` instead. This property will be removed in a future version. */ set startDownload(value: boolean); /** @deprecated Use `printOnLoad` instead. This property will be removed in a future version. */ set startPrint(value: boolean); /** @deprecated Use `showOpenFile` instead. This property will be removed in a future version. */ set openFile(value: boolean); /** @deprecated Use `showDownload` instead. This property will be removed in a future version. */ set download(value: boolean); /** @deprecated Use `showPrint` instead. This property will be removed in a future version. */ set print(value: boolean); /** @deprecated Use `showFullScreen` instead. This property will be removed in a future version. */ set fullScreen(value: boolean); /** @deprecated Use `showFind` instead. This property will be removed in a future version. */ set find(value: boolean); /** @deprecated Use `showViewBookmark` instead. This property will be removed in a future version. */ set viewBookmark(value: boolean); /** @deprecated Use `showLastPageOnLoad` instead. This property will be removed in a future version. */ set lastPage(value: boolean); externalWindowOptions: string; viewerTab: any; iframeBorder: string | number; private _src; private _page; private isPostMessageReady; private postMessageReadiness; private initialConfigQueued; private actionQueueManager; private cdr; private appRef?; private ngZone?; constructor(cdr: ChangeDetectorRef, appRef?: ApplicationRef, ngZone?: NgZone); private messageIdCounter; private actionIdCounter; private pendingMessages; private pendingChanges; private releaseUrl?; private webviewerLoadedHandler?; private pdfEventHandlers?; private _zoom; private _rotation; private _cursor; private _scroll; private _spread; private _pageMode; zoomChange: EventEmitter<string>; cursorChange: EventEmitter<string>; scrollChange: EventEmitter<string>; spreadChange: EventEmitter<string>; pageModeChange: EventEmitter<string>; /** * Two-way binding for zoom level * Supports: auto, page-fit, page-width, page-actual, percentage values (e.g., "150%") */ get zoom(): string; set zoom(value: string); /** * One-way binding for document rotation * Supports: 0, 90, 180, 270 degrees */ set rotation(value: number); get rotation(): number; /** * Two-way binding for cursor mode * Supports: select, hand, zoom */ get cursor(): string; set cursor(value: string); /** * Two-way binding for scroll mode * Supports: vertical, horizontal, wrapped, page */ get scroll(): string; set scroll(value: string); /** * Two-way binding for spread mode * Supports: none, odd, even */ get spread(): string; set spread(value: string); /** * Two-way binding for page mode (sidebar state) * Supports: none, thumbs, bookmarks, attachments */ get pageMode(): string; set pageMode(value: string); set page(_page: number); get page(): number; set pdfSrc(_src: string | Blob | Uint8Array); get pdfSrc(): string | Blob | Uint8Array; get PDFViewerApplicationOptions(): any; get PDFViewerApplication(): any; private get isBrowser(); ngOnInit(): void; ngAfterViewInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; private generateMessageId; private sendControlMessage; private sendControlMessageWithRequeue; private isIframeAccessible; private processPostMessageReadyActions; private handleControlResponse; private messageHandler; private handleHostRequest; private setupMessageListener; private rejectPendingMessages; private handleStateChangeNotification; private composeErrorMessage; private handleEventNotification; private applyChanges; private dispatchRegisteredProperty; private applyPendingChanges; /** * Waits for the PDF.js viewer to be ready, and binds the the event bus. */ private bindToPdfJsEventBus; private teardownPdfJsEventBindings; private queueAllConfigurations; private queueAutoActionsForDocumentLoad; refresh(): void; sendViewerControlMessage(action: string, payload: any): Promise<any>; triggerDownload(): Promise<ActionExecutionResult>; triggerPrint(): Promise<ActionExecutionResult>; setPage(page: number): Promise<ActionExecutionResult>; setZoom(zoom: string): Promise<ActionExecutionResult>; goToLastPage(): Promise<ActionExecutionResult>; setCursor(cursor: string): Promise<ActionExecutionResult>; setScroll(scroll: string): Promise<ActionExecutionResult>; setSpread(spread: string): Promise<ActionExecutionResult>; triggerRotation(direction: "cw" | "ccw"): Promise<ActionExecutionResult>; goToPage(page: number): Promise<ActionExecutionResult>; /** * Serialized state of every annotation created or modified in the editor. * Send this to a server to persist user annotations. */ getAnnotations(): Promise<any[]>; /** * Restore annotations previously exported with getAnnotations() back into * the editor. Each annotation is rebuilt on its own page; annotations for * pages that haven't rendered yet apply automatically as those pages * render (counted in `pending`). Items with an invalid pageIndex for the * current document are skipped (counted in `rejected`). Calling this twice * with the same payload creates duplicates - restore is additive. Note: * stamp images cannot round-trip (their bitmaps are not serializable). */ setAnnotations(annotations: any[]): Promise<{ restored: number; pending: number; rejected: number; }>; /** * The current document - including annotation edits and filled form * fields - as a Blob, ready for upload or download. */ getDocumentAsBlob(): Promise<Blob>; /** * Programmatic full-text search. Resolves with totals, per-page match * counts and the pages containing matches; matches are highlighted in the * viewer (highlightAll defaults to true). */ search(query: string, options?: SearchOptions): Promise<SearchResult>; /** Move the search selection to the next match. */ searchNext(): Promise<SearchResult>; /** Move the search selection to the previous match. */ searchPrevious(): Promise<SearchResult>; /** Clear search highlights and forget the active query. */ clearSearch(): Promise<ActionExecutionResult>; private overlayViews; private mountPageOverlay; private destroyPageOverlays; private mountOverlaysOnRenderedPages; /** * Plain text of the document (or a 1-based page range), extracted from the * PDF.js text layer. The raw material for BYO-AI chat/summarize flows. */ getDocumentText(from?: number, to?: number): Promise<DocumentPageText[]>; /** * Resolve once the current document has loaded, or after timeoutMs (in which * case callers proceed with whatever the viewer can provide). Never rejects. */ private waitForDocumentLoad; /** * Read the document aloud from the current (or given) page using the * browser's speech synthesis. Progress arrives on onReadAloudStateChange. */ startReadAloud(options?: { fromPage?: number; rate?: number; }): Promise<ActionExecutionResult>; pauseReadAloud(): Promise<ActionExecutionResult>; resumeReadAloud(): Promise<ActionExecutionResult>; stopReadAloud(): Promise<ActionExecutionResult>; /** * Ask the built-in AI panel a question programmatically (same path the * panel's input uses). Requires [aiAssistantConfig]. Document text is * extracted once per document and reused across questions. */ aiAsk(question: string): Promise<void>; private parseAiCitations; /** * Current AcroForm field values (field name -> value), reflecting any * user edits. Returns {} for documents without form fields. */ getFormData(): Promise<FormDataMap>; /** Set a single form field by name. */ setFormField(name: string, value: string | boolean | null): Promise<ActionExecutionResult>; getActionStatus(actionId: string): "pending" | "executing" | "completed" | "failed" | "not-found"; getQueueStatus(): { queuedActions: number; executedActions: number; }; clearActionQueue(): void; /** * Enable or disable URL validation security feature * When enabled, prevents users from modifying the file parameter in the viewer URL * @param enabled - Whether to enable URL validation (default: true) * @returns Promise<ActionExecutionResult> */ setUrlValidation(enabled?: boolean): Promise<ActionExecutionResult>; /** * Dismiss the security warning */ dismissSecurityWarning(): void; private loadPdf; private fetchPdfWithAuth; private setupExternalWindow; private renderLoadingSpinner; private createFileUrl; private buildViewerUrl; private collectInitTimeOptions; private navigateToViewer; private externalWindowWarned; private documentLoadFailed; private documentLoaded; private dispatchAction; private getRequiredReadinessLevel; private hasRequiredReadiness; static ɵfac: i0.ɵɵFactoryDeclaration<PdfJsViewerComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<PdfJsViewerComponent, "ng2-pdfjs-viewer", never, { "viewerId": { "alias": "viewerId"; "required": false; }; "viewerFolder": { "alias": "viewerFolder"; "required": false; }; "externalWindow": { "alias": "externalWindow"; "required": false; }; "target": { "alias": "target"; "required": false; }; "showSpinner": { "alias": "showSpinner"; "required": false; }; "downloadFileName": { "alias": "downloadFileName"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "useOnlyCssZoom": { "alias": "useOnlyCssZoom"; "required": false; }; "externalLinkTarget": { "alias": "externalLinkTarget"; "required": false; }; "rememberLastView": { "alias": "rememberLastView"; "required": false; }; "annotationEditor": { "alias": "annotationEditor"; "required": false; }; "highlightEditorColors": { "alias": "highlightEditorColors"; "required": false; }; "enableSignatureEditor": { "alias": "enableSignatureEditor"; "required": false; }; "signatureStorage": { "alias": "signatureStorage"; "required": false; }; "pageColors": { "alias": "pageColors"; "required": false; }; "pdfJsOptions": { "alias": "pdfJsOptions"; "required": false; }; "enableCommentEditor": { "alias": "enableCommentEditor"; "required": false; }; "enablePageEditing": { "alias": "enablePageEditing"; "required": false; }; "showToolbar": { "alias": "showToolbar"; "required": false; }; "chromeless": { "alias": "chromeless"; "required": false; }; "customToolbarTpl": { "alias": "customToolbarTpl"; "required": false; }; "customSidebarTpl": { "alias": "customSidebarTpl"; "required": false; }; "aiAssistantConfig": { "alias": "aiAssistantConfig"; "required": false; }; "pageOverlayTpl": { "alias": "pageOverlayTpl"; "required": false; }; "httpHeaders": { "alias": "httpHeaders"; "required": false; }; "withCredentials": { "alias": "withCredentials"; "required": false; }; "formData": { "alias": "formData"; "required": false; }; "contentProtection": { "alias": "contentProtection"; "required": false; }; "iframeSandbox": { "alias": "iframeSandbox"; "required": false; }; "diagnosticLogs": { "alias": "diagnosticLogs"; "required": false; }; "showOpenFile": { "alias": "showOpenFile"; "required": false; }; "showAnnotations": { "alias": "showAnnotations"; "required": false; }; "showDownload": { "alias": "showDownload"; "required": false; }; "showViewBookmark": { "alias": "showViewBookmark"; "required": false; }; "showPrint": { "alias": "showPrint"; "required": false; }; "showFullScreen": { "alias": "showFullScreen"; "required": false; }; "showFind": { "alias": "showFind"; "required": false; }; "downloadOnLoad": { "alias": "downloadOnLoad"; "required": false; }; "printOnLoad": { "alias": "printOnLoad"; "required": false; }; "rotateCW": { "alias": "rotateCW"; "required": false; }; "rotateCCW": { "alias": "rotateCCW"; "required": false; }; "showLastPageOnLoad": { "alias": "showLastPageOnLoad"; "required": false; }; "namedDest": { "alias": "namedDest"; "required": false; }; "errorOverride": { "alias": "errorOverride"; "required": false; }; "errorAppend": { "alias": "errorAppend"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "urlValidation": { "alias": "urlValidation"; "required": false; }; "customSecurityTpl": { "alias": "customSecurityTpl"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "primaryColor": { "alias": "primaryColor"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "pageBorderColor": { "alias": "pageBorderColor"; "required": false; }; "pageSpacing": { "alias": "pageSpacing"; "required": false; }; "toolbarColor": { "alias": "toolbarColor"; "required": false; }; "textColor": { "alias": "textColor"; "required": false; }; "borderRadius": { "alias": "borderRadius"; "required": false; }; "customCSS": { "alias": "customCSS"; "required": false; }; "cspNonce": { "alias": "cspNonce"; "required": false; }; "iframeTitle": { "alias": "iframeTitle"; "required": false; }; "customSpinnerTpl": { "alias": "customSpinnerTpl"; "required": false; }; "spinnerClass": { "alias": "spinnerClass"; "required": false; }; "customErrorTpl": { "alias": "customErrorTpl"; "required": false; }; "errorClass": { "alias": "errorClass"; "required": false; }; "showToolbarLeft": { "alias": "showToolbarLeft"; "required": false; }; "showToolbarMiddle": { "alias": "showToolbarMiddle"; "required": false; }; "showToolbarRight": { "alias": "showToolbarRight"; "required": false; }; "showSecondaryToolbarToggle": { "alias": "showSecondaryToolbarToggle"; "required": false; }; "showSidebar": { "alias": "showSidebar"; "required": false; }; "showSidebarLeft": { "alias": "showSidebarLeft"; "required": false; }; "showSidebarRight": { "alias": "showSidebarRight"; "required": false; }; "toolbarDensity": { "alias": "toolbarDensity"; "required": false; }; "sidebarWidth": { "alias": "sidebarWidth"; "required": false; }; "toolbarPosition": { "alias": "toolbarPosition"; "required": false; }; "sidebarPosition": { "alias": "sidebarPosition"; "required": false; }; "responsiveBreakpoint": { "alias": "responsiveBreakpoint"; "required": false; }; "controlVisibility": { "alias": "controlVisibility"; "required": false; }; "autoActions": { "alias": "autoActions"; "required": false; }; "errorHandling": { "alias": "errorHandling"; "required": false; }; "viewerConfig": { "alias": "viewerConfig"; "required": false; }; "themeConfig": { "alias": "themeConfig"; "required": false; }; "groupVisibility": { "alias": "groupVisibility"; "required": false; }; "layoutConfig": { "alias": "layoutConfig"; "required": false; }; "startDownload": { "alias": "startDownload"; "required": false; }; "startPrint": { "alias": "startPrint"; "required": false; }; "openFile": { "alias": "openFile"; "required": false; }; "download": { "alias": "download"; "required": false; }; "print": { "alias": "print"; "required": false; }; "fullScreen": { "alias": "fullScreen"; "required": false; }; "find": { "alias": "find"; "required": false; }; "viewBookmark": { "alias": "viewBookmark"; "required": false; }; "lastPage": { "alias": "lastPage"; "required": false; }; "externalWindowOptions": { "alias": "externalWindowOptions"; "required": false; }; "iframeBorder": { "alias": "iframeBorder"; "required": false; }; "zoom": { "alias": "zoom"; "required": false; }; "rotation": { "alias": "rotation"; "required": false; }; "cursor": { "alias": "cursor"; "required": false; }; "scroll": { "alias": "scroll"; "required": false; }; "spread": { "alias": "spread"; "required": false; }; "pageMode": { "alias": "pageMode"; "required": false; }; "page": { "alias": "page"; "required": false; }; "pdfSrc": { "alias": "pdfSrc"; "required": false; }; }, { "onBeforePrint": "onBeforePrint"; "onAfterPrint": "onAfterPrint"; "onDocumentLoad": "onDocumentLoad"; "onPageChange": "onPageChange"; "onScaleChange": "onScaleChange"; "onRotationChange": "onRotationChange"; "onDocumentError": "onDocumentError"; "onDocumentInit": "onDocumentInit"; "onPagesInit": "onPagesInit"; "onPresentationModeChanged": "onPresentationModeChanged"; "onOpenFile": "onOpenFile"; "onFind": "onFind"; "onUpdateFindMatchesCount": "onUpdateFindMatchesCount"; "onMetadataLoaded": "onMetadataLoaded"; "onOutlineLoaded": "onOutlineLoaded"; "onPageRendered": "onPageRendered"; "onAnnotationLayerRendered": "onAnnotationLayerRendered"; "onBookmarkClick": "onBookmarkClick"; "onIdle": "onIdle"; "onPasswordPrompt": "onPasswordPrompt"; "onAnnotationEditorStateChange": "onAnnotationEditorStateChange"; "onPagesEdited": "onPagesEdited"; "onReadAloudStateChange": "onReadAloudStateChange"; "onSidebarViewChanged": "onSidebarViewChanged"; "onLayersChanged": "onLayersChanged"; "onNamedAction": "onNamedAction"; "onDocumentProperties": "onDocumentProperties"; "annotationEditorChange": "annotationEditorChange"; "onProgress": "onProgress"; "formDataChange": "formDataChange"; "zoomChange": "zoomChange"; "cursorChange": "cursorChange"; "scrollChange": "scrollChange"; "spreadChange": "spreadChange"; "pageModeChange": "pageModeChange"; }, never, never, false, never>; } declare class PdfJsViewerModule { /** @deprecated Import PdfJsViewerModule directly; forRoot() registers no providers. */ static forRoot(): ModuleWithProviders<PdfJsViewerModule>; static ɵfac: i0.ɵɵFactoryDeclaration<PdfJsViewerModule, never>; static ɵmod: i0.ɵɵNgModuleDeclaration<PdfJsViewerModule, [typeof PdfJsViewerComponent], [typeof i2.CommonModule], [typeof PdfJsViewerComponent]>; static ɵinj: i0.ɵɵInjectorDeclaration<PdfJsViewerModule>; } export { PdfJsViewerComponent, PdfJsViewerModule }; export type { ActionExecutionResult, AnnotationEditorMode, AnnotationEditorModeChange, AnnotationEditorState, AnnotationLayerRenderEvent, AutoActionConfig, BookmarkClick, ChangedPage, ChangedRotation, ChangedScale, ContentProtectionConfig, ControlVisibilityConfig, DocumentError, DocumentMetadata, DocumentOutline, DocumentPageText, ErrorConfig, ExternalLinkTarget, FindMatchesCount, FindOperation, FormDataMap, GroupVisibilityConfig, LayersChange, LayoutConfig, NamedActionEvent, PageRenderInfo, PagesEditedEvent, PagesInfo, PdfSignatureStorage, PresentationMode, ReadAloudState, SearchOptions, SearchResult, SidebarPosition, SidebarViewChange, SidebarViewName, ThemeConfig, ToolbarDensity, ToolbarPosition, ViewerConfig, WatermarkConfig };