UNPKG

@grapecity/gcpdfviewer

Version:
513 lines (512 loc) 24 kB
/// <reference path="vendor/i18next.d.ts" /> //@ts-ignore import { i18n } from 'i18next'; //@ts-ignore import { ViewerStatus, ViewMode, Toolbar, ToolbarLayout, ZoomMode } from '@grapecity/viewer-core'; import PdfReportPlugin from './plugin'; import { GenericButton } from './Toolbar/ToolbarItems'; import { SignToolSettings, ViewerOptions } from './ViewerOptions'; /// <reference path="vendor/react/react.d.ts" /> //@ts-ignore import React from 'react'; /// <reference path="vendor/react/react-dom.d.ts" /> //@ts-ignore import * as ReactDOM from 'react-dom'; //@ts-ignore import { ReportViewer, LoadResult, EventFan } from '@grapecity/viewer-core'; import { SvgIconKey } from './Styles/pdfSvgIcons'; import { ISupportApi } from './SupportApi/ISupportApi'; import { PdfToolbarLayout } from './Toolbar/PdfToolbarLayout'; import { AnnotationBase, AnnotationTypeCode, CopyBufferData, FileAttachmentAnnotation, WidgetAnnotation, SignatureInformation } from './Annotations/AnnotationTypes'; import { EditMode, LayoutMode } from './Annotations/types'; import { GcSelectionPoint, IGcRect } from './Models/GcMeasurementTypes'; import { GcRightSidebarState } from './RightSidebar/types'; import { GcRightSidebar } from './RightSidebar/GcRightSidebar'; import { LogLevel, ModificationsState, SharedDocumentInfo, UndoChangeName } from './SharedDocuments/types'; import { SharedRef } from './Utils/SharedRef'; import { GcPdfSearcher } from './Search/GcPdfSearcher'; //@ts-ignore import { PanelHandle } from '@grapecity/viewer-core/types/api/PluginModel'; import { DataStorage } from './DataStorage/DataStorage'; import { GcMeasurement } from './Utils/GcMeasurement'; import { SignToolStorage } from './SignTool/SignToolStorage'; import { LeftSidebar } from './LeftSidebar'; import { DocumentSecuritySummary } from './Security/DocumentSecuritySummary'; import { DocumentInformation } from './Properties/DocumentInformation'; import { OpenParameters, OptionalContentConfig, PageViewport, SaveSettings, StructTreeNode, ViewerFeatureName, ViewerPreferences, IGCEventBus, DocumentListItem, SubmitFormOptions, ScrollPageIntoViewOptions, IGcPageView, FontFormat } from './Models/ViewerTypes'; import { AddStampDropdown } from './Toolbar/controls/AddStampDropdown'; import { SecondToolbar } from './Toolbar/SecondToolbar/SecondToolbar'; import { SecondToolbarLayout, SecondToolbarLayoutMode } from './Toolbar/SecondToolbar/types'; import { SearchPanel } from './Search/SearchPanel'; import { AsyncLock, PromiseQueue } from './Utils/PromiseUtils'; import { utf8ToBase64 } from './Utils/EncodingUtils'; import { ErrorEventArgs, BeforeOpenEventArgs, AfterOpenEventArgs, ThemeChangedEventArgs, EventName, EventArgs, BeforeAddAnnotationEventArgs, AfterAddAnnotationEventArgs, AfterUpdateAnnotationEventArgs, BeforeRemoveAnnotationEventArgs, AfterRemoveAnnotationEventArgs, BeforeUpdateAnnotationEventArgs } from './Models/EventArgs'; import { XfaApiImpl } from './XFA/XfaApiImpl'; import { PdfOrganizerDialog } from './PdfOrganizer/PdfOrganizerDialog'; import { ConfirmButton } from './Dialogs/Types'; import { OpenDocumentInfo } from './SupportApi/types'; import { PaintedBoxInfo, Rect, TextPartsQuadPoints } from './Search/types'; import { PageDisplayDropdown } from './Toolbar/controls/PageDisplayDropdown'; import { PageDisplayType } from './Toolbar/controls/types'; import { SaveAsDropdown } from './Toolbar/controls/SaveAsDropdown'; import { ReplaceTextDialog } from './ReplaceText/ReplaceTextDialog'; import { HighlightArgs, HighlightBehaviorArgs, ITextHighlightManager } from './HighlightManager/types'; export declare class GcPdfViewer extends ReportViewer { private static _i18n; static _instanceCounter: number; private _disposed; private _plugin; private _isUpdating; private _toolbarLayout; private _secondToolbarLayout; private _viewerInstanceId; readonly in17n: i18n; private _fileStorage; addStampDropdown: AddStampDropdown | null; private _secondToolbar; private _editorLastValues; private _xfa; pageDisplayDropdown: PageDisplayDropdown | null; saveAsDropdown: SaveAsDropdown | null; private _pageDisplay?; private _highlightManager; constructor(element: HTMLElement | string, options?: Partial<ViewerOptions>); get jsFormatFunctions(): any; get pdfjsLib(): any; get pdfDocument(): any; get viewerPreferences(): Promise<ViewerPreferences>; resolvePageIndex(pageRef: any | { gen: number; num: number; }): Promise<number | null>; get hasAttachments(): boolean; get attachments(): FileAttachmentAnnotation[]; get instanceId(): string; set instanceId(id: string); get isEditModeSticked(): boolean; get isPureXfa(): boolean; getSignatureInfo(): Promise<SignatureInformation>; pdfStringToDate(input?: string | Date): Date | null; get pageDisplay(): PageDisplayType; set pageDisplay(pageDisplay: PageDisplayType); get sharedRef(): SharedRef; get dataLoader(): import("./Core/GcPdfViewerDataLoader").GcPdfViewerDataLoader; get eventBus(): IGCEventBus; get editorLastValues(): any; get formStateHelper(): any; get annotationStateHelper(): any; getEditorLastValue(annotation: AnnotationBase, propertyName: string): any; saveToEditorLastValues(annotation: AnnotationBase): Promise<void>; private _filterLastValues; get requiredSupportApiVersion(): string; get supportApiVersion(): string; get gcPdfVersion(): string; get serviceProvider(): any; static LicenseKey: string; get canEditDocument(): boolean; get currentUserName(): string; set currentUserName(userName: string); get disableFeaturesHash(): { [key in ViewerFeatureName]?: boolean; }; get editMode(): EditMode; set editMode(mode: EditMode); activateEditMode(mode: EditMode, args?: { editMode: EditMode; imageUrl: string; imageDpi: number; w: number; h: number; imageDataKey?: string; } | null): void; activateReplaceTextFeature(): void; get fileData(): Uint8Array | null; get fileName(): string; get fileSize(): Promise<number>; get fileUrl(): string; get isInEditorMode(): boolean; get activatedEditorMode(): "SecondBar" | "FormEditor" | "AnnotationEdtor" | "Any" | "" | undefined; get leftSidebar(): LeftSidebar; get storage(): DataStorage; get signToolStorage(): SignToolStorage; get hasChanges(): boolean; get changesVersion(): number; get hasCopyData(): boolean; get hasDocument(): boolean; get hideAnnotations(): boolean; set hideAnnotations(hide: boolean); get layoutMode(): LayoutMode; set layoutMode(mode: LayoutMode); get logLevel(): LogLevel; set logLevel(logLvel: LogLevel); get modificationsState(): ModificationsState; get optionalContentConfig(): Promise<OptionalContentConfig>; get structureTree(): Promise<StructTreeNode[] | null>; scrollMarkedTextIntoView(pageIndex: number, id: string): Promise<void>; get options(): Partial<ViewerOptions>; set options(options: Partial<ViewerOptions>); getType(typeName: string): typeof React | typeof AnnotationBase | typeof GcPdfViewer | typeof ReactDOM | typeof AsyncLock | typeof PdfReportPlugin | typeof AnnotationTypeCode | typeof ViewMode | typeof utf8ToBase64 | typeof PromiseQueue | typeof EditMode | typeof GenericButton | typeof ViewerStatus | typeof ViewerOptions | typeof LayoutMode | typeof Toolbar | typeof ZoomMode | typeof GcMeasurement | typeof GcPdfSearcher | typeof GcRightSidebar | null; get plugin(): PdfReportPlugin; get rotation(): number; set rotation(degrees: number); get searcher(): GcPdfSearcher; get searchPanelHandle(): PanelHandle | undefined; get isSearchPanelExpanded(): boolean; get isFloatingSearchBarExpanded(): boolean; toggleSearchUI(forceExpand?: boolean): void; closeSearchPanel(): void; closeFloatingSearchBar(): void; get searchPanel(): SearchPanel | undefined; get supportApi(): ISupportApi | null; get toolbarLayout(): PdfToolbarLayout; set toolbarLayout(toolbarLayout: PdfToolbarLayout); get secondToolbarLayout(): SecondToolbarLayout; set secondToolbarLayout(layout: SecondToolbarLayout); get version(): string; get hasReplyTool(): boolean; get rightSidebar(): GcRightSidebar; get fingerprint(): string; static get i18n(): i18n; get annotations(): Promise<{ pageIndex: number; annotations: AnnotationBase[]; }[]>; get beforeUnloadConfirmation(): boolean; set beforeUnloadConfirmation(enable: boolean); get hasForm(): boolean; get hasPersistentConnection(): boolean; showFormFiller(): void; showSignTool(preferredSettings?: SignToolSettings): void; resetChanges(): Promise<void>; reload(keepUndoState?: boolean): Promise<void>; get hasUndoChanges(): boolean; get hasUndo(): boolean; get hasRedoChanges(): boolean; get hasRedo(): boolean; get undoStore(): any; get undoState(): (0 | { changeName: UndoChangeName; selectedAnnotation: { pageIndex: number; annotation: AnnotationBase; } | null; data: any; })[]; get undoIndex(): number; get undoCount(): number; get pageIndex(): number; set pageIndex(val: number); get pageCount(): number; findTargetPageForRect(rect: number[]): number; get isDocumentShared(): boolean; set zoomValue(val: number); get zoomValue(): number; set zoomMode(val: ZoomMode); messageBox(cMsg: string | any, nIcon?: number, nType?: number, cTitle?: string, oDoc?: any, oCheckbox?: any): number; alert(cMsg: string | any, nIcon?: number, nType?: number, cTitle?: string, oDoc?: any, oCheckbox?: any): number; resetData(): void; beep(param: number): void; execMenuItem(menuItem: string): Promise<any>; get xfa(): XfaApiImpl; get zoomMode(): ZoomMode; get onError(): EventFan<ErrorEventArgs>; get onBeforeOpen(): EventFan<BeforeOpenEventArgs>; get onAfterOpen(): EventFan<AfterOpenEventArgs>; get onBeforeAddAnnotation(): EventFan<BeforeAddAnnotationEventArgs>; get onAfterAddAnnotation(): EventFan<AfterAddAnnotationEventArgs>; get onBeforeUpdateAnnotation(): EventFan<BeforeUpdateAnnotationEventArgs>; get onAfterUpdateAnnotation(): EventFan<AfterUpdateAnnotationEventArgs>; get onBeforeRemoveAnnotation(): EventFan<BeforeRemoveAnnotationEventArgs>; get onAfterRemoveAnnotation(): EventFan<AfterRemoveAnnotationEventArgs>; private _eventsDef; private _getEventFan; getEvent(eventName: EventName): EventFan<any>; triggerEvent(eventName: EventName, args?: EventArgs | ThemeChangedEventArgs | BeforeOpenEventArgs | AfterOpenEventArgs): void; get onThemeChanged(): EventFan<AfterOpenEventArgs>; static findControl(selector: string | HTMLElement): GcPdfViewer | undefined; get secondToolbar(): SecondToolbar; addViewAreaStyle(cssText: string): string; removeViewAreaStyle(id: string): boolean; static updateSvgIcon(iconKey: SvgIconKey, svgIcon: Element | string): void; static getSvgIcon(iconKey: SvgIconKey): Element; showAnnotationFocusOutline(annotationId: any, animationDelay?: number, color?: string): void; showPdfOrganizer(): PdfOrganizerDialog; showReplaceText(): ReplaceTextDialog; checkAnnotationLocked(annotation: AnnotationBase, editType?: "Any" | "EditProperty" | "Delete" | "EditContents", showErrorMessage?: boolean): boolean; invalidate(): void; markAnnotationLayerDirty(pageIndex: number | number[]): any; getPageView(pageIndex: number): IGcPageView | undefined; showSecondToolbar(toolbarKey: SecondToolbarLayoutMode | string): Promise<void>; hideSecondToolbar(): void; activateEditorMode(caller: "SecondBar" | "FormEditor" | "AnnotationEdtor"): void; deactivateEditorMode(caller: "SecondBar" | "ViewerLayout"): void; setPageTabs(pageIndex: number, tabs: "S" | "R" | "C" | "A" | "W" | undefined): void; getPageTabs(pageIndex: number): "S" | "R" | "C" | "A" | "W" | undefined; setPageRotation(pageIndex: number, rotation: number, viewRotationIncluded?: boolean): Promise<boolean>; getPageRotation(pageIndex: number, includeViewRotation?: boolean): number; dispose(): void; logError(method: string, message: string): void; logDebug(method: string, message: string): void; commitChanges(): void; cancelChanges(): void; cancelInlineTextEdit(): string; confirm(confirmationText?: string | JSX.Element, level?: "info" | "warning" | "error", title?: string, buttons?: ConfirmButton[]): Promise<boolean | ConfirmButton>; close(): Promise<void>; static getBlankDocumentBytes(): Uint8Array; open(file?: any | string | URL | Uint8Array | Array<number>, openParameters?: OpenParameters): Promise<LoadResult>; _openLockCap?: { promise: Promise<any>; resolve: Function; reject: Function; }; lockOpen(): Promise<any>; unlockOpen(): Promise<void>; pdfUrlToFileName(url: string): string; openLocalFile(): any; newDocument(params?: { fileName?: string; confirm?: boolean; } | string): Promise<LoadResult | null>; newPage(params?: { width?: number; height?: number; pageIndex?: number; }): Promise<void>; deletePage(pageIndex?: number): Promise<void>; print(): void; download(fileName?: string): void; registeredFonts: { [fontName: string]: { url: string; format: FontFormat | undefined; clientOnly?: boolean; resolved?: boolean; }; }; private _preloadFont; isFontUrlRegistered(url: any): boolean; registerFallbackFont(fontNameOrUrl: string, url?: string, args?: FontFormat | { format?: FontFormat; displayName?: string; clientOnly?: boolean; }): void; registerFont(fontNameOrUrl: string, url?: string, args?: FontFormat | { format?: FontFormat; displayName?: string; addToUI?: boolean; clientOnly?: boolean; serverOnly?: boolean; }): void; resolveRegisteredFonts(): Promise<string[]>; getModifiedFilesIds(args: { documentModification: any; saveSettings?: SaveSettings; includeFonts?: "All" | "None"; }): Promise<string[]>; save(fileName?: string, settings?: SaveSettings): Promise<boolean>; saveAsImages(fileName?: string, settings?: SaveSettings): Promise<boolean>; saveChanges(): Promise<boolean>; submitForm(submitUrl: string, options?: SubmitFormOptions): Promise<void>; resetForm(): void; getSubmitTransportForm(submitUrl: any, submitForm?: true | { fields: string[]; refs: string[]; include: boolean; includeNoValueFields: boolean; exportFormat: boolean; getMethod: boolean; submitCoordinates: boolean; xFDF: boolean; submitPDF: boolean; canonicalFormat: boolean; }): HTMLFormElement | null; get annotationStorage(): any; validateForm(validator?: (fieldValue: string | string[], field: WidgetAnnotation) => boolean | string, silent?: boolean, ignoreValidationAttrs?: boolean): string | boolean; getDocumentSecurity(): Promise<DocumentSecuritySummary>; getDocumentInformation(): Promise<DocumentInformation>; goToPageNumber(pageNumber: number): void; goToPage(pageIndex: number): void; goToFirstPage(): void; goToPrevPage(): void; goToNextPage(): void; goToLastPage(): void; scrollPageIntoView(params: { pageNumber: number; destArray?: any[]; allowNegativeOffset?: boolean; }): void; loadAndScrollPageIntoView(pageIndex: number, destArray?: any[], scrollIntoViewOptions?: ScrollPageIntoViewOptions | boolean): Promise<boolean>; get scrollView(): HTMLElement; setTheme(theme?: string): void; execCutAction(buffer?: CopyBufferData): Promise<boolean>; execCopyAction(buffer?: CopyBufferData): Promise<boolean>; execDeleteAction(buffer?: CopyBufferData): Promise<boolean>; execPasteAction(point?: GcSelectionPoint): Promise<boolean>; loadDocumentList(documentListUrl?: string | DocumentListItem[]): void; openPanel(panelHandleOrId: PanelHandle | string): void; closePanel(panelHandleOrId?: PanelHandle | string): void; addDefaultPanels(): PanelHandle[]; addDocumentListPanel(documentListUrl?: string | DocumentListItem[]): PanelHandle; addSharedDocumentsPanel(): PanelHandle; addThumbnailsPanel(): PanelHandle; addSearchPanel(): PanelHandle; addAnnotationEditorPanel(): PanelHandle; addArticlesPanel(): PanelHandle; addAttachmentsPanel(): PanelHandle; addOutlinePanel(): PanelHandle; addStructureTreePanel(): PanelHandle; addLayersPanel(): PanelHandle; addFormEditorPanel(): PanelHandle; addReplyTool(sidebarState?: GcRightSidebarState): void; cloneAnnotation(annotation: AnnotationBase): AnnotationBase; getSelectedText(): string; getSelectedTextCoordinates(): null | { pageIndex: number; outerRect: number[]; quadPoints: { x: number; y: number; }[][]; }; get selectionCopier(): any; collectQuadPoints(paintedBoxes: PaintedBoxInfo[]): TextPartsQuadPoints; pushModificationsState(modificationsState: ModificationsState): void; convertPdfRectToWindowCoordinates(pageIndex: number, rect: number[] | Rect): number[]; toViewPortPoint(point: GcSelectionPoint): GcSelectionPoint; addStickyNote(position: GcSelectionPoint): void; changeOriginToBottom(pageIndex: any, y: any): number; changeOriginToTop(pageIndex: any, y: any): number; changeOrigin(pageIndex: number, y: number, srcOrigin: 'TopLeft' | 'BottomLeft', destOrigin: 'TopLeft' | 'BottomLeft'): number; changeBoundsOrigin(pageIndex: number, bounds: number[], srcOrigin: 'TopLeft' | 'BottomLeft', destOrigin: 'TopLeft' | 'BottomLeft', normalize?: boolean): number[]; getViewPort(pageIndex: number): PageViewport; getPageSize(pageIndex: number, includeScale?: boolean): { width: number; height: number; }; setPageSize(pageIndex: number, size: { width: number; height: number; }): Promise<boolean>; addAnnotation(pageIndex: number, annotation: AnnotationBase, args?: { skipPageRefresh?: boolean; }): Promise<{ pageIndex: number; annotation: AnnotationBase; }>; lockAnnotation(id: string | AnnotationBase): Promise<AnnotationBase | null>; unlockAnnotation(id: string | AnnotationBase): Promise<AnnotationBase | null>; addSignature(imageData: Uint8Array | null, args: { fileId: string; pageIndex: number; rect: number[]; select?: boolean; subject?: string; fileName?: string; convertToContent?: boolean; }): Promise<{ pageIndex: number; annotation: AnnotationBase; }>; addStamp(imageData: Uint8Array | null, args: { fileId: string; pageIndex: number; rect: number[]; select?: boolean; subject?: string; fileName?: string; rotate?: number; convertToContent?: boolean; }): Promise<{ pageIndex: number; annotation: AnnotationBase; }>; loadSharedDocuments(): void; openSharedDocument(sharedDocumentId: string): Promise<OpenDocumentInfo | null>; openSharedDocumentByName(fileName: string): Promise<OpenDocumentInfo | null>; openSharedDocumentByIndex(sharedDocIndex: number): Promise<OpenDocumentInfo | null>; getSharedDocuments(): Promise<SharedDocumentInfo[] | null>; validateAnnotation(annotation: AnnotationBase, throwException?: boolean): boolean; updateAnnotation(pageIndex: number, annotation: AnnotationBase, args?: { skipPageRefresh?: boolean; prevPageIndex?: number; changedPageIndex?: number; }): Promise<{ pageIndex: number; annotation: AnnotationBase; }>; updateAnnotations(pageIndex: number, annotations: AnnotationBase | AnnotationBase[], args?: { skipPageRefresh?: boolean; }): Promise<{ pageIndex: number; annotations: AnnotationBase[]; }>; updateGroupFieldValue(fieldName: string, newValue: string, args?: { skipPageRefresh?: boolean; propertyName?: string; }): Promise<boolean>; removeAnnotation(pageIndex: number, annotationId: string, args?: { skipPageRefresh?: boolean; }): Promise<boolean>; findAnnotation(findString: string | number, findParams?: { findField?: 'id' | 'title' | 'contents' | 'fieldName' | string; pageNumberConstraint?: number; findAll?: boolean; }): Promise<{ pageNumber: number; annotation: AnnotationBase; }[]>; findAnnotations(findString: string | number, findParams?: { findField?: 'id' | 'title' | 'contents' | 'fieldName' | string; pageIndexConstraint?: number; findAll?: boolean; }): Promise<{ pageIndex: number; annotation: AnnotationBase; }[]>; selectAnnotation(pageIndex: number | string, annotation?: AnnotationBase | string): Promise<boolean>; unselectAnnotation(): any; scrollAnnotationIntoView(pageIndexOrId: number | string, annotationOrScrollOptions?: AnnotationBase | string | ScrollBehavior | ScrollPageIntoViewOptions, scrollOptions?: ScrollBehavior | ScrollPageIntoViewOptions): Promise<void>; undoChanges(): void; undo(): void; redoChanges(): void; redo(): void; repaint(indicesToRepaint?: number[]): void; repaintTextLayer(indicesToRepaint?: number[]): void; highlightTextSegment(pageIndex: number, startCharIndex: number, endCharIndex: number, args?: HighlightArgs): Promise<boolean>; clearHighlightedSegments(pageIndex: number | number[], args?: HighlightBehaviorArgs): void; get highlightManager(): ITextHighlightManager; applyOptions(): void; get language(): string; set language(lng: string); applyToolbarLayout(): void; getAnnotationPageIndex(annotation: string | AnnotationBase): number | null; getPageLocation(pageIndex: number): { x: number; y: number; }; setAnnotationBounds(annotationId: string, bounds: { x: number | undefined; y: number | undefined; w: number | undefined; h: number | undefined; }, origin?: 'TopLeft' | 'BottomLeft', select?: boolean): Promise<void>; getRenderedAnnotationBounds(id: string, windowRelative?: boolean): { x: number; y: number; w: number; h: number; }; globalPointToPagePoint(mousePosition: GcSelectionPoint): GcSelectionPoint; applyViewPortScale(rectOrCoords: IGcRect | [number, number, number, number], pageIndex: number, srcOrigin?: "BottomLeft" | "TopLeft"): IGcRect | [number, number, number, number]; enablePdfToolButtons(buttons?: string[] | "all" | 'none'): void; updateLayout(layout: ToolbarLayout): void; showMessage(message: string, details?: string, severity?: "error" | "warn" | "info" | "debug"): void; clearMessages(): void; goBack(): void; goForward(): void; beginUpdate(): void; endUpdate(): void; get isUpdating(): boolean; private static _init_i18n; } export default GcPdfViewer;