@alfresco/adf-core
Version:
154 lines (153 loc) • 5.1 kB
TypeScript
import { EventEmitter, InjectionToken, OnChanges, OnDestroy, SimpleChanges, TemplateRef } from '@angular/core';
import { PDFViewer } from 'pdfjs-dist/web/pdf_viewer.mjs';
import { PDFDocumentLoadingTask, PDFDocumentProxy } from 'pdfjs-dist/types/src/display/api';
import * as i0 from "@angular/core";
export type PdfScaleMode = 'init' | 'page-actual' | 'page-width' | 'page-height' | 'page-fit' | 'auto';
export declare const PDFJS_MODULE: InjectionToken<any>;
export declare const PDFJS_VIEWER_MODULE: InjectionToken<typeof PDFViewer>;
export declare class PdfViewerComponent implements OnChanges, OnDestroy {
urlFile: string;
blobFile: Blob;
fileName: string;
showToolbar: boolean;
allowThumbnails: boolean;
thumbnailsTemplate: TemplateRef<any>;
cacheType: string;
rendered: EventEmitter<any>;
error: EventEmitter<any>;
close: EventEmitter<any>;
pagesLoaded: EventEmitter<void>;
page: number;
displayPage: number;
totalPages: number;
loadingPercent: number;
pdfViewer: PDFViewer;
pdfJsWorkerUrl: string;
pdfJsWorkerInstance: Worker;
currentScaleMode: PdfScaleMode;
MAX_AUTO_SCALE: number;
DEFAULT_SCALE_DELTA: number;
MIN_SCALE: number;
MAX_SCALE: number;
loadingTask: PDFDocumentLoadingTask;
isPanelDisabled: boolean;
showThumbnails: boolean;
pdfThumbnailsContext: {
viewer: any;
};
randomPdfId: string;
documentOverflow: boolean;
get currentScaleText(): string;
private pdfjsLib;
private pdfjsViewer;
private eventBus;
private pdfjsDefaultOptions;
private pdfjsWorkerDestroy$;
private dialog;
private renderingQueueServices;
private appConfigService;
constructor();
getUserScaling(): number;
checkLimits(scaleConfig: number): number;
ngOnChanges(changes: SimpleChanges): void;
executePdf(pdfOptions: any): void;
private setupPdfJsWorker;
private getPdfJsWorker;
initPDFViewer(pdfDocument: PDFDocumentProxy): void;
ngOnDestroy(): void;
private destroyPfdJsWorker;
private revokePdfJsWorkerUrl;
toggleThumbnails(): void;
/**
* Method to scale the page current support implementation
*
* @param scaleMode - new scale mode
*/
scalePage(scaleMode: PdfScaleMode): void;
private autoScaling;
private getMainContainer;
private getDocumentContainer;
private getViewer;
checkPageFitInContainer(scale: number): number;
setDocumentOverflow(): void;
/**
* Update all the pages with the newScale scale
*
* @param newScale - new scale page
*/
setScaleUpdatePages(newScale: number): void;
/**
* Check if the request scale of the page is the same for avoid useless re-rendering
*
* @param oldScale - old scale page
* @param newScale - new scale page
* @returns `true` if the scale is the same, otherwise `false`
*/
isSameScale(oldScale: string, newScale: string): boolean;
/**
* Check if is a land scape view
*
* @param width target width
* @param height target height
* @returns `true` if the target is in the landscape mode, otherwise `false`
*/
isLandscape(width: number, height: number): boolean;
/**
* Method triggered when the page is resized
*/
onResize(): void;
/**
* toggle the fit page pdf
*/
pageFit(): void;
/**
* zoom in page pdf
*
* @param ticks number of ticks to zoom
*/
zoomIn(ticks?: number): void;
/**
* zoom out page pdf
*
* @param ticks number of ticks to scale
*/
zoomOut(ticks?: number): void;
/**
* load the previous page
*/
previousPage(): void;
/**
* load the next page
*/
nextPage(): void;
/**
* load the page in input
*
* @param page to load
*/
inputPage(page: string): void;
/**
* Page Change Event
*
* @param event event
*/
onPageChange(event: any): void;
onPdfPassword(callback: any, reason: any): void;
/**
* Page Rendered Event
*/
onPageRendered(): void;
/**
* Pages Loaded Event
*
*/
onPagesLoaded(): void;
/**
* Keyboard Event Listener
*
* @param event KeyboardEvent
*/
handleKeyboardEvent(event: KeyboardEvent): void;
static ɵfac: i0.ɵɵFactoryDeclaration<PdfViewerComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<PdfViewerComponent, "adf-pdf-viewer", never, { "urlFile": { "alias": "urlFile"; "required": false; }; "blobFile": { "alias": "blobFile"; "required": false; }; "fileName": { "alias": "fileName"; "required": false; }; "showToolbar": { "alias": "showToolbar"; "required": false; }; "allowThumbnails": { "alias": "allowThumbnails"; "required": false; }; "thumbnailsTemplate": { "alias": "thumbnailsTemplate"; "required": false; }; "cacheType": { "alias": "cacheType"; "required": false; }; }, { "rendered": "rendered"; "error": "error"; "close": "close"; "pagesLoaded": "pagesLoaded"; }, never, never, true, never>;
}