@syncfusion/ej2-pdfviewer
Version:
Essential JS 2 PDF viewer Component
1,848 lines • 59 kB
TypeScript
import { Dialog } from '@syncfusion/ej2-popups';
import { PdfViewer, TextLayer, Signature, AccessibilityTags } from '../index';
import { NavigationPane } from './navigation-pane';
import { TextMarkupAnnotation, IPoint } from '../annotation';
import { AjaxHandler } from '../index';
import { Point, DrawingElement, PointModel, Matrix } from '@syncfusion/ej2-drawings';
import { ToolBase, Actions, MouseEventArgs } from '../drawing/tools';
import { ActiveElements } from '../drawing/action';
import { PdfAnnotationBaseModel } from '../drawing/pdf-annotation-model';
import { AnnotationDataFormat, FormFieldDataFormat } from './types';
import { IContextMenu } from './interfaces';
import { BlazorUiAdaptor } from './blazor-ui-adaptor';
import { PdfViewerSessionStorage, PdfiumTaskScheduler } from './pdfviewer-utlis';
/**
* The `ISize` module is used to handle page size property of PDF viewer.
*
* @hidden
*/
export interface ISize {
width: number;
height: number;
top: number;
rotation?: number;
}
/**
* The `IPinchZoomStorage` module is used to handle pinch zoom storage of PDF viewer.
*
* @hidden
*/
export interface IPinchZoomStorage {
index: number;
pinchZoomStorage: object;
}
/**
* The `IAnnotationCollection` module is used to handle page size property of PDF viewer.
*
* @hidden
*/
export interface IAnnotationCollection {
textMarkupAnnotation: object;
shapeAnnotation: object;
measureShapeAnnotation: object;
stampAnnotations: object;
stickyNotesAnnotation: object;
freeTextAnnotation: object;
signatureAnnotation?: object;
signatureInkAnnotation?: object;
}
/**
* @hidden
*/
interface ICustomStampItems {
customStampName: string;
customStampImageSource: string;
}
export declare class PdfViewerBase {
/**
* @private
*/
hyperlinkAndLinkAnnotation: any;
/**
* @private
*/
pageTextDetails: any;
/**
* @private
*/
pageImageDetails: any;
/**
* @private
*/
viewerContainer: HTMLElement;
/**
* @private
*/
contextMenuModule: IContextMenu;
/**
* @private
*/
documentPathByteArray: string | Uint8Array;
/**
* @private
*/
pageSize: ISize[];
/**
* @private
*/
existingFieldImport: boolean;
/**
* @private
*/
pageCount: number;
/**
* @private
*/
customZoomValues: any[];
/**
* @private
*/
isReRenderRequired: boolean;
/**
* @private
*/
currentPageNumber: number;
private previousZoomValue;
private initialZoomValue;
/**
* @private
*/
activeElements: ActiveElements;
/**
* @private
*/
mouseDownEvent: Event;
/**
* @private
*/
accessibilityTags: AccessibilityTags;
/**
* @private
*/
textLayer: TextLayer;
/**
* @private
*/
pdfViewer: PdfViewer;
/**
*
* @private
*/
pngData: any[];
/**
* @private
*/
blazorUIAdaptor: BlazorUiAdaptor;
private unload;
/**
* @private
*/
isDocumentLoaded: boolean;
/**
* @private
*/
documentId: string;
/**
* @private
*/
jsonDocumentId: string;
/**
* @private
*/
renderedPagesList: number[];
/**
* @private
*/
pageGap: number;
/**
* @private
*/
signatureAdded: boolean;
/**
* @private
*/
isSignInitialClick: boolean;
/**
* @private
*/
loadedData: string;
/**
* @private
*/
isFreeTextSelected: boolean;
/**
* @private
*/
formfieldvalue: any;
private pageLeft;
private sessionLimit;
private pageStopValue;
/**
* @private
*/
toolbarHeight: number;
private pageLimit;
private previousPage;
private isViewerMouseDown;
private isViewerMouseWheel;
private scrollPosition;
private sessionStorage;
/**
* @private
*/
static sessionStorageManager: PdfViewerSessionStorage;
/**
* @private
*/
pageContainer: HTMLElement;
/**
* @private
*/
isLoadedFormFieldAdded: boolean;
private scrollHoldTimer;
private isFileName;
private isInkAnnot;
private modifiedPageIndex;
private pointerCount;
private pointersForTouch;
private corruptPopup;
/**
* @private
*/
passwordPopup: Dialog;
private goToPagePopup;
/**
* @private
*/
isPasswordAvailable: boolean;
/**
* @private
*/
isBounds: boolean;
/**
* @private
*/
isImportDoc: boolean;
private document;
/**
* @private
*/
passwordData: string;
/**
* @private
*/
reRenderedCount: number;
private passwordInput;
private promptElement;
/**
* @private
*/
navigationPane: NavigationPane;
private mouseX;
private mouseY;
/**
* @private
*/
mouseLeft: number;
/**
* @private
*/
mouseTop: number;
/**
* @private
*/
hashId: string;
private documentLiveCount;
/**
* @private
*/
mainContainer: HTMLElement;
/**
* @private
*/
viewerMainContainer: HTMLElement;
private printMainContainer;
/**
* @private
*/
mobileScrollerContainer: HTMLElement;
/**
* @private
*/
mobilePageNoContainer: HTMLElement;
/**
* @private
*/
mobileSpanContainer: HTMLElement;
/**
* @private
*/
mobilecurrentPageContainer: HTMLElement;
private mobilenumberContainer;
private mobiletotalPageContainer;
private touchClientX;
private touchClientY;
private previousTime;
private currentTime;
private isTouchScrolled;
private isgetFocused;
private goToPageInput;
/**
* @private
*/
pageNoContainer: HTMLElement;
private goToPageElement;
private isLongTouchPropagated;
private longTouchTimer;
private isViewerContainerDoubleClick;
private dblClickTimer;
/**
* @private
*/
pinchZoomStorage: IPinchZoomStorage[];
private isPinchZoomStorage;
/**
* @private
*/
isTextSelectionDisabled: boolean;
/**
* @private
*/
isPanMode: boolean;
private dragX;
private dragY;
private isScrollbarMouseDown;
private scrollX;
private scrollY;
private ispageMoved;
private isThumb;
private isTapHidden;
private singleTapTimer;
private tapCount;
private inputTapCount;
/**
* @private
*/
isInitialLoaded: boolean;
/**
* @private
*/
loadRequestHandler: AjaxHandler;
private unloadRequestHandler;
private dowonloadRequestHandler;
private pageRequestHandler;
private textRequestHandler;
private virtualLoadRequestHandler;
private exportAnnotationRequestHandler;
private importAnnotationRequestHandler;
private exportFormFieldsRequestHandler;
private importFormFieldsRequestHandler;
private annotationPageList;
private importPageList;
/**
* @private
*/
importedAnnotation: any;
/**
* @private
*/
isImportAction: boolean;
private isImportedAnnotation;
/**
* @private
*/
isAnnotationCollectionRemoved: boolean;
/**
* @private
*/
tool: ToolBase;
action: any;
/**
* @private
*/
eventArgs: MouseEventArgs;
/**
* @private
*/
inAction: boolean;
/**
* @private
*/
isMouseDown: boolean;
/**
* @private
*/
isStampMouseDown: boolean;
/**
* @private
*/
currentPosition: PointModel;
/**
* @private
*/
prevPosition: PointModel;
private initialEventArgs;
/**
* @private
*/
stampAdded: boolean;
/**
* @private
*/
customStampCount: number;
/**
* @private
*/
isDynamicStamp: boolean;
/**
* @private
*/
isMixedSizeDocument: boolean;
/**
* @private
*/
highestWidth: number;
/**
* @private
*/
highestHeight: number;
/**
* @private
*/
customStampCollection: ICustomStampItems[];
/**
* @private
*/
isAlreadyAdded: boolean;
/**
* @private
*/
isWebkitMobile: boolean;
/**
* @private
*/
isFreeTextContextMenu: boolean;
/**
* @private
*/
signatureModule: Signature;
/**
* @private
*/
isSelection: boolean;
/**
* @private
*/
isAddAnnotation: boolean;
/**
* @private
*/
annotationComments: any;
/**
* @private
*/
isToolbarSignClicked: boolean;
/**
* @private
*/
signatureCount: number;
/**
* @private
*/
isSignatureAdded: boolean;
/**
* @private
*/
isNewSignatureAdded: boolean;
/**
* @private
*/
currentSignatureAnnot: any;
/**
* @private
*/
isInitialPageMode: boolean;
/**
* @private
*/
ajaxData: any;
/**
* @private
*/
documentAnnotationCollections: any;
/**
* @private
*/
annotationRenderredList: number[];
/**
* @private
*/
annotationStorage: any;
/**
* @private
*/
formFieldStorage: any;
/**
* @private
*/
isStorageExceed: boolean;
/**
* @private
*/
isFormStorageExceed: boolean;
/**
* @private
*/
isNewStamp: boolean;
/**
* @private
*/
downloadCollections: any;
/**
* @private
*/
isAnnotationAdded: boolean;
/**
* @private
*/
annotationEvent: any;
/**
* @private
*/
isAnnotationDrawn: boolean;
/**
* @private
*/
isAnnotationSelect: boolean;
/**
* @private
*/
isAnnotationMouseDown: boolean;
/**
* @private
*/
isAnnotationMouseMove: boolean;
/**
* @private
*/
validateForm: boolean;
/**
* @private
*/
isMinimumZoom: boolean;
/**
* @private
*/
documentLoaded: boolean;
private tileRenderCount;
private tileRequestCount;
/**
* @private
*/
isTileImageRendered: boolean;
private isDataExits;
private requestLists;
private tilerequestLists;
private textrequestLists;
private renderThumbnailImages;
/**
* @private
*/
pageRenderCount: number;
/**
* @private
*/
isToolbarInkClicked: boolean;
/**
* @private
*/
isInkAdded: boolean;
/**
* @private
*/
inkCount: number;
/**
* @private
*/
isAddedSignClicked: boolean;
/**
* @private
*/
imageCount: number;
/**
* @private
*/
isMousedOver: boolean;
/**
* @private
*/
isFormFieldSelect: boolean;
/**
* @private
*/
isFormFieldMouseDown: boolean;
/**
* @private
*/
isFormFieldMouseMove: boolean;
/**
* @private
*/
isFormFieldMousedOver: boolean;
/**
* @private
*/
isPassword: boolean;
/**
* @private
*/
digitalSignaturePages: number[];
private isDigitalSignaturePresent;
/**
* @private
*/
restrictionList: any;
private isDrawnCompletely;
/**
* @private
*/
isAddComment: boolean;
/**
* @private
*/
isCommentIconAdded: boolean;
/**
* @private
*/
currentTarget: any;
/**
* @private
*/
private fromTarget;
/**
* @private
*/
drawSignatureWithTool: boolean;
/**
* @private
*/
formFieldCollection: any[];
/**
* @private
*/
requestCollection: any[];
/**
* @private
*/
nonFillableFields: any;
/**
* @private
*/
pdfViewerRunner: PdfiumTaskScheduler;
/**
* @private
*/
isInitialField: boolean;
/**
* @private
*/
isTouchDesignerMode: boolean;
/**
* @private
*/
designerModetarget: any;
/**
* @private
*/
isPrint: boolean;
/**
* @private
*/
isPDFViewerJson: boolean;
/**
* @private
*/
isJsonImported: boolean;
/**
* @private
*/
isJsonExported: boolean;
/**
* @private
*/
isPageRotated: boolean;
preventContextmenu: boolean;
private downloadFileName;
/**
* @private
*/
isFocusField: boolean;
/**
* @private
*/
isTouchPad: boolean;
/**
* @private
*/
isMacGestureActive: boolean;
/**
* @private
*/
macGestureStartScale: number;
/**
* @private
*/
zoomInterval: number;
/**
* @private
*/
isTaggedPdf: boolean;
private accessibilityTagsHandler;
private accessibilityTagsCollection;
private pageRequestListForAccessibilityTags;
private enableAccessibilityMultiPageRequest;
/**
* @private
*/
clientSideRendering: boolean;
/**
* @private
*/
focusField: any;
/**
* @private
*/
isPasswordProtected: boolean;
private isMoving;
/**
* EJ2CORE-813 - This flag is represent current device is 'iPad' or 'iPhone' or'iPod' device.
*
* @private
*/
isDeviceiOS: boolean;
/**
* @private
*/
isMacSafari: boolean;
private globalize;
/**
* @private
*/
isSkipDocumentPath: boolean;
private isScrollerMoving;
private isScrollerMovingTimer;
/**
* @private
*/
isMessageBoxOpen: boolean;
private notifyDialog;
/**
* @private
*/
previousScrollbarWidth: number;
/**
* Initialize the constructor of PDFViewerBase
*
* @param { PdfViewer } viewer - Specified PdfViewer class.
*/
constructor(viewer: PdfViewer);
/**
* @private
* @returns {void}
*/
initializeComponent(): void;
private createMobilePageNumberContainer;
/**
* @private
* @param {string} documentData - file name or base64 string.
* @param {string} password - password of the PDF document.
* @param {boolean} isSkipDocumentId - It indicates whether we need to skip removing the jsonDocumentId
* @returns {void}
*/
initiatePageRender(documentData: any, password: string, isSkipDocumentId?: boolean): void;
/**
* @param {string} documentId - It describes about the document id
* @param {boolean} isFileName - It describes about the whether isFileName is true or not
* @param {string} fileName - It describes about the file name
* @private
* @returns {void}
*/
initiateLoadDocument(documentId: string, isFileName: boolean, fileName: string): void;
/**
* @param {string} base64 - It describes about the base64
* @private
* @returns {Uint8Array} - Uint8Array
*/
convertBase64(base64: string): Uint8Array;
/**
* @param {any} documentDetails - It describes about the document details
* @param {string} password - It describes about the password
* @private
* @returns {void}
*/
loadSuccess(documentDetails: any, password?: string): void;
private mobileScrollContainerDown;
/**
* @private
* @param {MouseEvent} e - default mouse event.
* @returns {PointModel} - retuns the bounds.
*/
relativePosition(e: MouseEvent): PointModel;
/**
* Gets the annotation canvas for a given annotation ID and page index.
*
* @param {string} id - The unique identifier of the annotation.
* @param {number} pageIndex - The index of the page containing the annotation.
* @private
* @returns {HTMLElement} - The HTML canvas element for the annotation. If the canvas is not found, a new annotation layer is created and returned.
*/
getAnnotationCanvas(id: string, pageIndex: number): HTMLElement;
/**
* @param {HTMLElement} pageDiv - pageDiv
* @param {number} pageWidth - pageWidth
* @param {number} pageHeight - pageHeight
* @param {number} pageNumber - pageNumber
* @param {string} displayMode - displayMode
* @private
* @returns {HTMLElement} - htmlelement
*/
createAnnotationLayer(pageDiv: HTMLElement, pageWidth: number, pageHeight: number, pageNumber: number, displayMode?: string): HTMLElement;
private setMaximumHeight;
private applyViewerHeight;
/**
* @param {HTMLElement} canvas - canvas
* @param {number} pageWidth - pageWidth
* @param {number} pageHeight - pageHeight
* @param {number} pageNumber - pageNumber
* @private
* @returns {void}
*/
updateCanvas(canvas: HTMLCanvasElement, pageWidth: number, pageHeight: number, pageNumber: number): void;
/**
* @private
* @returns {void}
*/
updateWidth(): void;
/**
* @private
* @returns {void}
*/
updateHeight(): void;
/**
* @private
* @returns {void}
*/
updateViewerContainer(): void;
private updateViewerContainerSize;
private mobileScrollContainerEnd;
/**
* @private
* @param {any} data - data.
* @returns {boolean} - boolean
*/
checkRedirection(data: any): boolean;
/**
* @param {string} input - Gets the input
* @private
* @returns {Promise<string | null>} - promise
*/
getPdfByteArray(input: string): Promise<any | null>;
/**
* @param {string} input - Gets the input
* @private
* @returns {Promise<string | null>} - promise
*/
getPdfBase64(input: string): Promise<string | null>;
private isValidPDFBase64;
private isUrl;
private isBase64;
private identifyDataType;
private createAjaxRequest;
private invalidFilePopup;
private updateFormFieldName;
/**
* @param {string} text - The text.
* @returns {void}
* @private
*/
createNotificationPopup(text: string): void;
/**
* @returns {void}
*/
private closeNotification;
/**
* @private
* @param {string} errorString - The message to be displayed.
* @returns {void}
*/
openNotificationPopup(errorString?: string): void;
/**
* @private
* @param {string} errorString - The message to be shown.
* @returns {void}
*/
showNotificationPopup(errorString: string): void;
private requestSuccess;
private RestrictionEnabled;
private EnableRestriction;
private pageRender;
private loadPage;
private initialPagesRenderedForSign;
private removeTrailingNumber;
private initialPagesRendered;
/**
* @private
* @param {string} documentData - It gets the document data
* @param {string} password - It gets the password
* @param {boolean} isImportDoc - It gets whether the isImportDoc is true or false
* @returns {void}
*/
renderPasswordPopup(documentData: string | Uint8Array, password: string, isImportDoc: boolean): void;
/**
* @param {boolean} isImportDoc - Checks it is imported doc or npt
* @private
* @returns {void}
*/
renderCorruptPopup(isImportDoc: boolean): void;
/**
* @param {string} documentData - It gets the document data
* @param {string} password - It gets the password
* @param {boolean} isBase64String - It gets whether the isBase64String is true or not
* @private
* @returns {Object} - Object
*/
constructJsonObject(documentData: string | Uint8Array, password: string, isBase64String?: boolean): object;
/**
* @private
* @param {string} documentData - It describes about the document data
* @param {boolean} isSkipDocumentId - It indicates whether we need to skip removing the jsonDocumentId
* @returns {string} - string
*/
checkDocumentData(documentData: string, isSkipDocumentId?: boolean): string;
private setDocumentName;
private setFileName;
private saveDocumentInfo;
private saveDocumentHashData;
private saveFormfieldsData;
/**
* @param {boolean} isEnable - Enable or disable the toolbar itema.
* @returns {void}
* @private
*/
enableFormFieldButton(isEnable: boolean): void;
private updateWaitingPopup;
/**
* @param {boolean} isPageNumber - It describes about the whether isPageNumber true or not
* @private
* @returns {number} - returned the page value.
*/
getActivePage(isPageNumber?: boolean): number;
private createWaitingPopup;
private showLoadingIndicator;
private spinnerPosition;
/**
* @param {number} pageIndex - It describes about the page index
* @param {boolean} isShow - Show or hide page loading indicator.
* @returns {void}
* @private
*/
showPageLoadingIndicator(pageIndex: number, isShow: boolean): void;
/**
* @param {boolean} isShow - Show or hide print loading indicator.
* @returns {void}
* @private
*/
showPrintLoadingIndicator(isShow: boolean): void;
/**
* @param {HTMLElement} element - specifies the element.
* @returns {void}
* @private
*/
setLoaderProperties(element: HTMLElement): void;
/**
* @param {number} pageNumber - Specify the pageNumber.
* @param {boolean} needToScroll - Ensure need to scroll or not
* @returns {void}
* @private
*/
updateScrollTop(pageNumber: number, needToScroll?: boolean): void;
/**
* @private
* @returns {number} - Returns the zoom factor value.
*/
getZoomFactor(): number;
/**
* @private
* @returns {number} - Get the custom zoom values
*/
getCustomZoomValues(): void;
/**
* @private
* @returns {boolean} - Returns whether the pinch zoom is performed or not.
*/
getPinchZoomed(): boolean;
/**
* @private
* @returns {boolean} -Returns whether the zoom is performed or not.
*/
getMagnified(): boolean;
private getPinchScrolled;
private getPagesPinchZoomed;
private getPagesZoomed;
private getRerenderCanvasCreated;
/**
* @private
* @returns {string} - retrun the docuumentid.
*/
getDocumentId(): string;
/**
* @private
* @returns {void}
*/
download(): void;
/**
* @private
* @returns {promise<Blob>} - Returns the blob object.
*/
saveAsBlob(): Promise<Blob>;
private fireCustomCommands;
private getModifiers;
private saveAsBlobRequest;
private saveAsBlobFile;
/**
* @param {boolean} isTriggerEvent - check to trigger the event.
* @returns {void}
* @private
*/
clear(isTriggerEvent: boolean): void;
/**
* @private
* @returns {void}
*/
destroy(): void;
/**
* @param {PdfViewerBase} proxy - PdfviewerBase class.
* @returns {void}
* @private
*/
unloadDocument(proxy: PdfViewerBase): void;
private clearCache;
private setUnloadRequestHeaders;
private windowSessionStorageClear;
private updateCommentPanel;
/**
* @param {boolean} isMouseDown - check whether the mouse down is triggered.
* @returns {void}
* @private
*/
focusViewerContainer(isMouseDown?: boolean): void;
private getScrollParent;
private createCorruptedPopup;
/**
* @private
* @returns {void}
*/
hideLoadingIndicator(): void;
private closeCorruptPopup;
private createPrintPopup;
private createGoToPagePopup;
private closeGoToPagePopUp;
private EnableApplyButton;
private DisableApplyButton;
private GoToPageCancelClick;
private GoToPageApplyClick;
/**
* @private
* @returns {void}
*/
updateMobileScrollerPosition(): void;
private createPasswordPopup;
private passwordCancel;
private passwordCancelClick;
/**
* @private
* @returns {void}
*/
passwordDialogReset(): void;
/**
* @private
* @returns {void}
*/
applyPassword(): void;
private createFileInputElement;
private wireEvents;
private unWireEvents;
/**
* @returns {void}
*/
private clearSessionStorage;
/**
* @private
* @param {MouseEvent} event - Mouse event.
* @returns {void}
*/
onWindowResize: (event?: MouseEvent) => void;
/**
* @private
* @returns {void}
*/
updateZoomValue(): void;
/**
* @private
* @param {any} annotation - The annotation type of any.
* @returns {void}
*/
updateFreeTextProperties(annotation: any): void;
/**
* @param {MouseEvent} event - The MouseEvent.
* @returns {void}
*/
private viewerContainerOnMousedown;
/**
* @private
* @param {MouseEvent} event - The mouse event.
* @returns {void}
*/
mouseDownHandler(event: MouseEvent): void;
/**
* @private
* @param {string} selectedMenu - The selected menu.
* @returns {void}
*/
OnItemSelected(selectedMenu: string): void;
private CommentItemSelected;
private ScaleRatioSelected;
private DeleteItemSelected;
private pasteItemSelected;
private CutItemSelected;
private CopyItemSelected;
private PropertiesItemSelected;
private TextMarkUpSelected;
private shapeMenuItems;
/**
* @param {string} text - It describes about the text
* @private
* @returns {boolean} - boolean
*/
checkIsRtlText(text: string): boolean;
/**
* @private
* @param {any} event - Specifies the event.
* @returns {boolean} - retruned the beolean value.
*/
isClickWithinSelectionBounds(event: any): boolean;
private getHorizontalClientValue;
private getVerticalClientValue;
private getHorizontalValue;
private getVerticalValue;
/**
* @private
* @returns {boolean} - retruned the beolean value.
*/
checkIsNormalText(): boolean;
/**
* @param {MouseEvent} event - The MouseEvent.
* @returns {void}
*/
private viewerContainerOnMouseup;
/**
* @param {any} event - The Wheel event.
* @returns {void}
*/
private detectTouchPad;
/**
* @param {any} event - The Wheel event.
* @returns {void}
*/
private handleMacGestureStart;
/**
* @param {any} event - The Wheel event.
* @returns {void}
*/
private handleMacGestureChange;
/**
* @param {any} event - The Wheel event.
* @returns {void}
*/
private handleMacGestureEnd;
/**
* @param {WheelEvent} event - The MouseEvent.
* @returns {void}
*/
private viewerContainerOnMouseWheel;
/**
* @param {KeyboardEvent} event - The KeyboardEvent.
* @returns {void}
*/
private onWindowKeyDown;
/**
* @param {KeyboardEvent} event - The KeyboardEvent.
* @returns {void}
*/
private viewerContainerOnKeyDown;
private isTextSearchBoxOpen;
private isTargetClassNameValid;
private DeleteKeyPressed;
/**
* @param {MouseEvent} event - The MouseEvent.
* @returns {void}
*/
private viewerContainerOnMousemove;
/**
* @param {MouseEvent} event - The MouseEvent.
* @returns {void}
*/
private panOnMouseMove;
/**
* @private
* @returns {void}
*/
initiatePanning(): void;
/**
* @private
* @returns {void}
*/
initiateTextSelectMode(): void;
/**
* @private
* @returns {void}
*/
initiateTextSelection(): void;
private enableAnnotationAddTools;
/**
* @param {MouseEvent} event - The MouseEvent.
* @returns {void}
*/
private viewerContainerOnMouseLeave;
/**
* @param {MouseEvent} event - The MouseEvent.
* @returns {void}
*/
private viewerContainerOnMouseEnter;
/**
* @param {MouseEvent} event - The MouseEvent.
* @returns {void}
*/
private viewerContainerOnMouseOver;
/**
* @param {MouseEvent} event - The MouseEvent.
* @returns {void}
*/
private viewerContainerOnClick;
private applySelection;
/**
* @param {DragEvent} event - The DragEvent.
* @returns {void}
*/
private viewerContainerOnDragStart;
private viewerContainerOnContextMenuClick;
private onWindowMouseUp;
/**
* @param {TouchEvent} event - The DragEvent.
* @returns {void}
*/
private onWindowTouchEnd;
/**
* @param {TouchEvent} event - The TouchEvent.
* @returns {void}
*/
private viewerContainerOnTouchStart;
private isDesignerMode;
private handleTaps;
private handleTextBoxTaps;
private onTextBoxDoubleTap;
private onSingleTap;
private onDoubleTap;
/**
* @param {TouchEvent} event - The TouchEvent.
* @returns {void}
*/
private viewerContainerOnLongTouch;
/**
* @param {PointerEvent} event - The PointerEvent.
* @returns {void}
*/
private viewerContainerOnPointerDown;
private preventTouchEvent;
/**
* @param {TouchEvent} event - The TouchEvent.
* @returns {void}
*/
private viewerContainerOnTouchMove;
/**
* @param {PointerEvent} event - The TouchEvent.
* @returns {void}
*/
private viewerContainerOnPointerMove;
/**
* @param {TouchEvent} event - The TouchEvent.
* @returns {void}
*/
private viewerContainerOnTouchEnd;
private renderStampAnnotation;
/**
* @param {PointerEvent} event - The PointerEvent.
* @returns {void}
*/
private viewerContainerOnPointerEnd;
private focusOnViewerContainer;
private initPageDiv;
private renderPageContainerLimit;
private pageSizeCollection;
private getPageLimit;
private renderElementsVirtualScroll;
private renderPageElement;
private renderPagesVirtually;
private initiateRenderPagesVirtually;
private viritualload;
private tileRenderPage;
private renderTileCanvas;
private calculateImageWidth;
private renderPage;
private updateAnnotationsAndState;
private isNeedToRenderAnnotations;
private isFormFieldsNeedtoRender;
private onPageRender;
private removeInkFromAnnotCollection;
private canReduse;
private isBoundsAreEqual;
private removeAnnotFromDoc;
private isGroupedSignatureFields;
/**
* @private
* @param {any} fieldArray - The form field bounds.
* @param {any} signArray - The annotation bounds.
* @returns {boolean} - Returns true or false.
*/
isSignatureWithInRect(fieldArray: any, signArray: any): boolean;
/**
* @private
* @param {any} bounds - The form field or annotation bounds.
* @returns {any} - Returns bounds.
*/
canvasRectArray(bounds: any): any;
private isFormFieldSignature;
private canUpdateSignCollection;
/**
* @private
* @param {number} pageIndex - page index for rendering the annotation.
* @param {any} annotationsCollection -It describes about the annotations collection
* @param {boolean} isAddedProgrammatically - It describes about the whether the isAddedProgrammatically true or not
* @returns {Promise<void>} - any
*/
renderAnnotations(pageIndex: number, annotationsCollection: any, isAddedProgrammatically?: boolean): Promise<void>;
private renderTextContent;
private renderAccessibilityTags;
private returnPageListForAccessibilityTags;
private createRequestForAccessibilityTags;
private renderPageContainer;
private renderPDFInformations;
private orderPageDivElements;
/**
* @param {HTMLElement} pageDiv - It describes about the page div
* @param {number} pageWidth - It describes about the page width
* @param {number} pageHeight - It describes about the page heigght
* @param {number} pageNumber - It describes about the page number
* @param {string} displayMode - It describes about the display mode
* @private
* @returns {any} - any
*/
renderPageCanvas(pageDiv: HTMLElement, pageWidth: number, pageHeight: number, pageNumber: number, displayMode: string): any;
/**
* @private
* @param {any} pageCanvas - The canvas for rendering the page.
* @param {any} pageNumber - The page number for adding styles.
* @returns {void}
*/
applyElementStyles(pageCanvas: any, pageNumber: number): void;
/**
* @private
* @param {number} pageIndex - page index for updating positon.
* @returns {void}
*/
updateLeftPosition(pageIndex: number): number;
/**
* @private
* @param {number} pageIndex - The page index for positon.
* @returns {void}
*/
applyLeftPosition(pageIndex: number): void;
private updatePageHeight;
private viewerContainerOnScroll;
/**
* @private
* @param {Point} clientPoint - The user should provide a x, y coordinates.
* @returns {number} - number
*/
getPageNumberFromClientPoint(clientPoint: Point): number;
/**
* @private
* @param {Point} clientPoint - The user should provide a x, y coordinates.
* @param {number} pageNumber - We need to pass pageNumber.
* @returns {Point} - point
*/
convertClientPointToPagePoint(clientPoint: Point, pageNumber: number): Point;
/**
* @private
* @param {Point} pagePoint - The user needs to provide a page x, y position.
* @param {number} pageNumber - We need to pass pageNumber.
* @returns {Point} - point
*/
convertPagePointToClientPoint(pagePoint: any, pageNumber: number): Point;
/**
* @private
* @param {Point} pagePoint - The user needs to provide a page x, y position.
* @param {number} pageNumber - We need to pass pageNumber.
* @returns {Point} - point
*/
convertPagePointToScrollingPoint(pagePoint: any, pageNumber: number): Point;
private initiatePageViewScrollChanged;
private renderCountIncrement;
/**
* @private
* @param {number} currentPageNumber - The current pagenumber.
* @returns {void}
*/
pageViewScrollChanged(currentPageNumber: number): void;
private renderPreviousPagesInScroll;
private downloadDocument;
private downloadExportFormat;
/**
* @private
* @param {string} data - The data for exporting the fields.
* @param {FormFieldDataFormat} formFieldDataFormat - It describes about the form fiels data format
* @returns {void}
*/
exportFormFields(data?: string, formFieldDataFormat?: FormFieldDataFormat): void;
/**
* @param {string} data - It describes about the data value
* @param {FormFieldDataFormat} formFieldDataFormat - It describes about the form field data format
* @private
* @returns {void}
*/
importFormFields(data: string, formFieldDataFormat?: FormFieldDataFormat): void;
/**
* @param {boolean} isObject - It ensures whether the isObject is true or not
* @param {FormFieldDataFormat} formFieldDataFormat - This describes about the form field data format
* @param {string} data - The data for exporting the fields.
* @private
* @returns {any} - any
*/
createRequestForExportFormfields(isObject?: boolean, formFieldDataFormat?: FormFieldDataFormat, data?: string): any;
private exportFileDownload;
/**
* @param {string} fileName - Gets the name of the file name for slicing the last index
* @param {string} sliceBy - A type to slice the file name; example (".", "_")
* @private
* @returns {string} - string
*/
getLastIndexValue(fileName: string, sliceBy: string): string;
/**
* @param {any} source - It describes about the source
* @param {FormFieldDataFormat} formFieldDataFormat - It describes about the form field data format
* @private
* @returns {void}
*/
createRequestForImportingFormfields(source: any, formFieldDataFormat: FormFieldDataFormat): void;
private importClientSideFormFields;
/**
* @public
* @returns {any} - Returns the Json data.
*/
createFormfieldsJsonData(): any;
private constructJsonDownload;
/**
* @param {string} annotationInfo - It describes about the annotation info
* @private
* @returns {boolean} - Returns whether annotation is present.
*/
private isAnnotationsExist;
/**
* @param {string} fieldsData - It describes about the fields data
* @private
* @returns {boolean} - Returns whether fields data is present.
*/
private isFieldsDataExist;
/**
* @private
* @returns {boolean} - Returns annotations page number list.
*/
private getAnnotationsPageList;
/**
* @param {string} formDesignerData - It describes about the form designer data
* @private
* @returns {boolean} - Returns form fields page number list.
*/
private getFormFieldsPageList;
/**
* @private
* @param {string} annotationID - The annotationID.
* @returns {any} - Returns collection of type.
*/
checkFormFieldCollection(annotationID: string): boolean;
/**
* @private
* @returns {boolean} - Returns whether freetext module is enabled.
*/
isFreeTextAnnotationModule(): boolean;
private createRequestForDownload;
/**
* @param {string} data - It describes about the download file data
* @param {PdfViewerBase} proxy - It describes about the current instance
* @param {boolean} isOrganizeSaveAsRequest - It describes about the request is from Organize PDF window
* @private
* @returns {void}
*/
fileDownload(data: any, proxy: PdfViewerBase, isOrganizeSaveAsRequest?: boolean): void;
/**
* @param {any} pageWidth - It describes about the page width
* @param {any} pageHeight - It describes about the page height
* @private
* @returns {number} - number
*/
getTileCount(pageWidth: any, pageHeight: any): number;
private createRequestForRender;
private pageRequestOnSuccess;
/**
* @param {any} data - It gets the data
* @param {number} pageIndex - It describes about the page index
* @private
* @returns {void}
*/
pageTextRequestSuccess(data: any, pageIndex: number): void;
private pageTextRequestOnSuccess;
/**
* @param {number} pageIndex - It describes about the page index
* @param {any} annotationObject - It describes about the annotation object
* @private
* @returns {void}
*/
requestForTextExtraction(pageIndex: number, annotationObject?: any): void;
/**
* @private
* @param {any} data - It gets the data
* @param { number} pageIndex - It gets the page index value
* @param {any} annotationObject - It gets the annotation object
* @returns {void}
*/
textRequestSuccess(data: any, pageIndex: number, annotationObject: any): void;
private textRequestOnSuccess;
/**
* @param {any} markedBounds - It describes about the marked bounds
* @param {any} pageCharText - It describes about the page character text
* @param {any} characterBounds - It describes about the character bounds
* @private
* @returns {void}
*/
textMarkUpContent(markedBounds: any, pageCharText: any, characterBounds: any): string;
/**
* @param {number} pageIndex - It describes about the page index
* @private
* @returns {boolean} - boolean
*/
digitalSignaturePresent(pageIndex: number): boolean;
private pageRequestSent;
/**
* @private
* @param {string} status - The status message.
* @param {string} errorMessage - The error message.
* @param {string} action - The action.
* @returns {void}
*/
onControlError(status: number, errorMessage: string, action: string): void;
/**
* @param {number} pageIndex - It describes about the page index
* @param {boolean} isTextSearch - It ensures whether the isTextSearch is true or not
* @private
* @returns {any} - any
*/
getStoredData(pageIndex: number, isTextSearch?: boolean): any;
/**
* @private
* @param {any} data - The data.
* @param {number} pageIndex - The pageIndex.
* @param {number} tileX - The tileX.
* @param {number} tileY - The tileY.
* @returns {void}
*/
storeWinData(data: any, pageIndex: number, tileX?: number, tileY?: number): void;
/**
* @private
* @param {XMLHttpRequest} request - The Xml request.
* @returns {void}
*/
setCustomAjaxHeaders(request: XMLHttpRequest): void;
/**
* @private
* @param {number} pageIndex - Page index.
* @returns {object} - object
*/
getPinchZoomPage(pageIndex: number): object;
/**
* @private
* @param {number} pageIndex - current page index.
* @param {number} zoomFactor - cuurent zoom factor
* @returns {string} - string
*/
getWindowSessionStorage(pageIndex: number, zoomFactor: number): string;
/**
* @private
* @param {number} pageIndex - current page index.
* @param {number} tileX - cuurent tile x
* @param {number} tileY - cuurent tile y
* @param {number} zoomFactor - cuurent zoom factor
* @returns {string} - string
*/
getWindowSessionStorageTile(pageIndex: number, tileX: number, tileY: number, zoomFactor: number): string;
/**
* @param {number} pageIndex - It describes about the page index
* @param {number} tileX - It describes about the tile X
* @param {number} tileY - It describes about the tile Y
* @param {number} zoomFactor - It describes about the zoom factor
* @private
* @returns {string} - string
*/
getStoredTileImageDetails(pageIndex: number, tileX: number, tileY: number, zoomFactor: number): string;
/**
* @private
* @returns {number} - number
*/
retrieveCurrentZoomFactor(): number;
/**
* @param {number} pageNumber - It describes about the page number
* @param {any} textBounds - It describes about the text bounds
* @param {any} textContent - It describes about the text content
* @param {string} pageText - It describes about the page text
* @param {number} rotation - It describes about the rotation
* @param {any} characterBounds - It describes about the character bounds
* @private
* @returns {void}
*/
storeTextDetails(pageNumber: number, textBounds: any, textContent: any, pageText: string, rotation: number, characterBounds: any): void;
/**
* @param {number} pageNumber - It describes about the page number
* @param {any} storeObject - It describes about the store object
* @param {number} tileX - It describes about the tile X value
* @param {number} tileY - It describes about the tile Y
* @private
* @returns {void}
*/
storeImageData(pageNumber: number, storeObject: any, tileX?: number, tileY?: number): void;
private manageSessionStorage;
/**
* @param {string} base64String - It describes about the base64 string
* @param {string} contentType - It describes about the content type
* @private
* @returns {string} - string
*/
createBlobUrl(base64String: string, contentType: string): string;
private getRandomNumber;
/**
* @private
* @returns {string} - string
*/
createGUID(): string;
/**
* @private
* @param {MouseEvent} event - The mouse event.
* @param {boolean} isNeedToSet - Is need to test.
* @returns {boolean} - Returns true or false.
*/
isClickedOnScrollBar(event: MouseEvent, isNeedToSet?: boolean): boolean;
private setScrollDownValue;
/**
* @private
* @returns {void}
*/
disableTextSelectionMode(): void;
/**
* @private
* @param {string} idString - The Id string.
* @returns {HTMLElement} - The html element.
*/
getElement(idString: string): HTMLElement;
/**
* @private
* @param {number} pageIndex - The pageIndex
* @returns {number} - Returns number
*/
getPageWidth(pageIndex: number): number;
/**
* @private
* @param {number} pageIndex - The pageIndex
* @returns {number} - Returns number
*/
getPageHeight(pageIndex: number): number;
/**
* @private
* @param {number} pageIndex - The pageIndex.
* @returns {number} - Returns number
*/
getPageTop(pageIndex: number): number;
private isAnnotationToolbarHidden;
private isFormDesignerToolbarHidded;
/**
* @private
* @returns {boolean} - Returns true or false.
*/
getTextMarkupAnnotationMode(): boolean;
private isNewFreeTextAnnotation;
private getCurrentTextMarkupAnnotation;
/**
* @private
* @returns {number} - Returns page number.
*/
getSelectTextMarkupCurrentPage(): number;
/**
* @private
* @returns {boolean} - Retunrs true or false.
*/
getAnnotationToolStatus(): boolean;
/**
* @private
* @returns {boolean} - Retunrs true or false.
*/
getPopupNoteVisibleStatus(): boolean;
/**
* @private
* @returns {TextMarkupAnnotation} - TextMarkupAnnotation.
*/
isTextMarkupAnnotationModule(): TextMarkupAnnotation;
/**
* @private
* @returns {boolean} - Returns true or false.
*/
isShapeAnnotationModule(): boolean;
/**
* @private
* @returns {boolean} - Retunrs true or false.
*/
isFormDesignerModule(): boolean;
/**
* @private
* @returns {boolean} - Retunrs true or false.
*/
isFormFieldsModule(): boolean;
/**
* @private
* @returns {boolean} - Retunrs true or false.
*/
isCalibrateAnnotationModule(): boolean;
/**
* @private
* @returns {boolean} - Retunrs true or false.
*/
isStampAnnotationModule(): boolean;
/**
* @private
* @returns {boolean} - Retunrs true or false.
*/
isInkAnnotationModule(): boolean;
/**
* @private
* @returns {boolean} - Retunrs true or false.
*/
isCommentAnnotationModule(): boolean;
/**
* @private
* @returns {boolean} - Retunrs true or false.
*/
isShapeBasedAnnotationsEnabled(): boolean;
/**
* @private
* @param {MouseEvent | PointerEvent | TouchEvent} e - Returns event.
* @returns {PointModel} - Returns points.
*/
getMousePosition(e: MouseEvent | PointerEvent | TouchEvent): PointModel;
private getMouseEventArgs;
/**
* @private
* @param {PdfAnnotationBaseModel} obj - The object.
* @param {PointModel} position - The position.
* @returns {Actions | string} - Returns the string.
*/
findToolToActivate(obj: PdfAnnotationBaseModel, position: PointModel): Actions | string;
private inflate;
checkResizeHandles(diagram: PdfViewer, element: DrawingElement, position: PointModel, matrix: Matrix, x: number, y: number): Actions;
checkForResizeHandles(diagram: PdfViewer, element: DrawingElement, position: PointModel, matrix: Matrix, x: number, y: number): Actions;
/**
* @private
* @param {string} fieldID - The fieldID
* @returns {boolean} - Returns true or false.
*/
checkSignatureFormField(fieldID: string): boolean;
/**
* @private
* @param {MouseEvent | TouchEvent} evt - The event.
* @returns {void}
*/
diagramMouseMove(evt: MouseEvent | TouchEvent): void;
private updateDefaultCursor;
/**
* @private
* @param {MouseEvent | TouchEvent} evt - The event.
* @returns {void}
*/
diagramMouseLeave(evt: MouseEvent | TouchEvent): void;
private diagramMouseActionHelper;
private setCursor;
private setResizerCursorType;
/**
* @private
* @param {Actions | string} action - The actions.
* @returns {ToolBase} - Returns tools.
*/
getTool(action: Actions | string): ToolBase;
/**
* @private
* @param {MouseEvent | TouchEvent} evt - The events.
* @returns {void}
*/
diagramMouseUp(evt: MouseEvent | TouchEvent): void;
/**
* @private
* @param {HTMLElement} target - The target.
* @returns {boolean} - Returns true or false.
*/
skipPreventDefault(target: HTMLElement): boolean;
private isMetaKey;
/**
* @private
* @param {MouseEvent | TouchEvent} evt - The events.
* @returns {void}
*/
diagramMouseDown(evt: MouseEvent | TouchEvent): void;
/**
* @param {AnnotationDataFormat} annotationDataFormat - It describes about the annotaiton data format
* @private
* @returns {any} - any
*/
exportAnnotationsAsObject(annotationDataFormat?: AnnotationDataFormat): any;
/**
* @private
* @param {string} type - The type.
* @returns {any} - any
*/
getItemFromSessionStorage(type: string): string;
/**
* @param {HTMLElement} textDiv - It describes about the whether the text div element
* @param {number} left - It describes about the left value
* @param {number} top - It describes about the top value
* @param {number} fontHeight - It describes about the font height
* @param {number} width - It describes about the width
* @param {number} height - It describes about the height
* @param {boolean} isPrint - It describes about the isPrint is true or not
* @private
* @returns {void}
*/
setStyleToTextDiv(textDiv: HTMLElement, left: number, top: number, fontHeight: number, width: number, height: number, isPrint: boolean): void;
/**
* @param {any} number - It describes about the number
* @private
* @returns {number} - number
*/
ConvertPointToPixel(number: any): number;
/**
* @param {number} rotation - It describes about the number
* @private
* @re