@grapecity/gcpdfviewer
Version:
GcDocs PDF Viewer
302 lines (301 loc) • 9.94 kB
TypeScript
import { GcSelectionPoint } from "./GcMeasurementTypes";
export type SignatureInfo = {
contactInfo: string;
location: string;
signerName: string;
reason: string;
signatureField: string;
};
export type FieldAppearanceRenderingType = "Custom" | "Web" | "Predefined";
export type DocumentInitParameters = {
url?: string | URL;
data?: any | Array<number> | string;
httpHeaders?: Object;
initialData?: any;
length?: number;
range?: any;
rangeChunkSize?: number;
worker?: any;
verbosity?: number;
docBaseUrl?: string;
cMapUrl?: string;
cMapPacked?: boolean;
CMapReaderFactory?: Object;
useSystemFonts?: boolean;
standardFontDataUrl?: string;
StandardFontDataFactory?: Object;
useWorkerFetch?: boolean;
stopAtErrors?: boolean;
maxImageSize?: number;
isEvalSupported?: boolean;
disableFontFace?: boolean;
fontExtraProperties?: boolean;
enableXfa?: boolean;
ownerDocument?: any;
disableRange?: boolean;
disableStream?: boolean;
disableAutoFetch?: boolean;
pdfBug?: boolean;
};
export type OpenParameters = {
headers: {
[header: string]: string;
};
withCredentials: boolean;
password: string;
friendlyPdfUrl?: string;
} & DocumentInitParameters;
export type OptionalContentConfig = {
creator: null | string;
name: null | string;
getGroup(id: string): OptionalContentGroup;
getGroups(): {
[id: string]: OptionalContentGroup;
};
getOrder(): {
name: string | null;
order: string[];
}[];
isVisible(groupOrId: string | OptionalContentGroup): any;
setVisibility(id: string, visible: boolean): any;
viewScale: number;
};
export type OptionalContentGroup = {
id: string;
name: string;
type: "OCG" | string;
visible: boolean;
exportState?: "ON" | "OFF";
viewState?: "ON" | "OFF";
printState?: "ON" | "OFF";
creatorInfo?: {
Creator: string;
Subtype: string;
};
intent?: "View" | "Design";
zoom?: {
min?: number;
max?: number;
};
};
export type StructTreeNode = {
role: "Root" | string;
children: Array<StructTreeNode | StructTreeContent>;
};
export type StructTreeContent = {
id: string;
type: "content" | "object";
actualText: string | undefined;
};
export type ViewerFeatureName = 'JavaScript' | 'AllAttachments' | 'FileAttachments' | 'SoundAttachments' | 'RichMediaAttachments' | 'DragAndDrop' | 'SubmitForm' | 'Print' | 'Open' | 'Layers' | 'CustomFonts' | 'Redact' | 'ConvertToContent' | 'NewDocument' | 'NewPage' | 'DeletePage' | 'PdfOrganizer' | 'ReplaceText' | 'ESign' | 'Save' | 'SaveToPng' | 'SaveToSvg' | 'Collaboration' | 'Linearization' | 'IncrementalUpdate' | 'RichText';
export type StampCategory = {
id?: string;
name: string;
stampImages?: string[];
stampImageUrls?: string[];
isDynamic?: boolean;
dpi?: number;
};
export interface IPageViewport {
offsetX: number;
offsetY: number;
rotation: number;
scale: number;
transform: number;
viewBox: number[];
width: number;
height: number;
}
export interface IGcPageView {
viewport: IPageViewport;
ensureFullyLoaded(): Promise<IGcPageView>;
ensureSelectionPainter(): Promise<any>;
ensureAnnotationLayerRendered(): Promise<any>;
pageIndex: number;
width: number;
height: number;
renderingId: string;
renderingState: any;
outputScale: any;
scale: number;
rotation: number;
annotationLayerDirty?: boolean;
}
export interface IGcVisiblePage {
id: number;
view: IGcPageView;
x: number;
y: number;
percent: number;
}
export interface IGcVisiblePagesInfo {
first: IGcVisiblePage;
last: IGcVisiblePage;
views: IGcVisiblePage[];
}
export interface IGcSelectionCopier {
showTextMarkupContextMenu(event: MouseEvent | TouchEvent, coords?: {
clientX: number;
clientY: number;
}): boolean;
showCustomContextMenu(event: MouseEvent | TouchEvent, coords?: {
clientX: number;
clientY: number;
}): boolean;
copySelectedText(): boolean;
printSelectedText(): any;
resetAll(): any;
resetPage(pageIndex: number): any;
beginUpdatePages(): any;
endUpdatePages(): any;
beginUpdatePage(pageIndex: number): any;
endUpdatePage(): any;
getSelectedText(): any;
lastCaretPos: GcSelectionPoint;
lastMousePos: GcSelectionPoint;
notifyCaretPositionChanged(x: number, y: number, pageIndex: number): any;
notifyViewerFocused(viewer: any): any;
onNativeContextMenuStart(): any;
onNativeContextMenuEnd(): any;
hasSelectedText: boolean;
currentSelectionBox: null | {
pageIndex: number;
x: number;
y: number;
w: number;
h: number;
paintedBoxes: {
pageIndex: number;
x: number;
y: number;
w: number;
h: number;
angle: number;
dir: "ltr" | "rtl";
vertical: boolean;
itemData: any;
}[];
};
}
export type SaveSettings = {
format?: "PDF" | "PNG" | "SVG";
pages?: string;
reload?: boolean;
saveMode?: "Auto" | "Default" | "Linearized" | "IncrementalUpdate";
saveModificationsOnly?: boolean;
sign?: SignatureInfo;
progressTitle?: string;
progressMessage?: string;
zoomFactor?: number;
};
export type PageViewport = {
viewBox: number[];
width: number;
height: number;
scale: number;
rotation: number;
offsetX: number;
offsetY: number;
transform: number[];
clone(args: Partial<PageViewport>): PageViewport;
convertToViewportPoint(x: number, y: number): number[];
convertToViewportRectangle(rect: number[]): number[];
convertToPdfPoint(x: any, y: any): number[];
};
export type ViewerPreferences = {
hideToolbar?: boolean;
hideMenubar?: boolean;
hideWindowUI?: boolean;
fitWindow?: boolean;
centerWindow?: boolean;
displayDocTitle?: boolean;
nonFullScreenPageMode?: PageMode;
openAction?: OpenAction;
pageMode?: PageMode;
pageLayout?: PageLayout;
};
export type PageMode = "UseAttachments" | "UseOC" | "UseOutlines" | "UseThumbs" | "UseNone" | "FullScreen" | "";
export type PageLayout = "SinglePage" | "OneColumn" | "TwoColumnLeft" | "TwoColumnRight" | "TwoPageRight" | "TwoPageLeft" | "";
export type OpenAction = {
dest: number[];
};
export type BusEventName = "outlineloaded" | "attachmentsloaded" | "namedaction" | "pagemode" | "fileattachmentannotation" | "pagerendered" | "pagecancelled" | "scalechange" | "pagesinit" | "pagesloaded" | "documentchanged" | "rotationchanging" | "updateviewarea" | "undostorechanged" | "annotationeditstarted" | "annotationeditdone" | "show-custom-layout" | "hide-custom-layout" | "unselectannotation" | "annotation-bounds-change" | "pagechange" | "mousemodechange" | "request-answer" | "textlayerready" | "textselectionchanged" | "viewersizechanged" | "articlebeadnavigate" | "error" | "open" | "pagelabels" | "documentload";
export interface IGCEventBus {
on(eventName: BusEventName, listener: Function): any;
off(eventName: BusEventName, listener: Function): any;
dispatch(eventName: BusEventName, ...rest: any[]): any;
}
export type KeyboardShortcutTool = "zoomin" | "zoomout" | "zoom_pagesize" | "zoom_clientsize" | "select_all" | "rotate" | "pan" | "holdToPan" | "selection" | "open" | "search" | "print" | "move_caret_left" | "move_caret_right" | "move_caret_up" | "move_caret_down" | "move_caret_document_start" | "move_caret_document_end" | "move_caret_sequence_start" | "move_caret_sequence_end" | "confirm-ok" | "confirm-cancel" | "scrollUp" | "scrollDown" | "search";
export type KeyboardShortcutDefinition = {
keyCode?: number;
ctrl?: boolean;
shift?: boolean;
alt?: boolean;
meta?: boolean;
tool?: KeyboardShortcutTool | Function;
};
export type JsCancelEventArgs = {
cancel?: boolean;
jsCode: string;
targetAnnotation: any;
executor: any;
};
export type JsEventArgs = {
jsCode: string;
targetAnnotation: any;
executor: any;
};
export type JsExecutionConfig = {
disable?: boolean;
before?: (args: JsCancelEventArgs) => void;
after?: (args: JsEventArgs) => void;
repaintWhenDone?: boolean;
repaintOnStep?: boolean;
};
export type DocumentListItem = {
name: string;
path: string;
title: string;
previewContent?: string;
};
export type SubmitFormOptions = {
fields?: string[];
refs?: string[];
include?: boolean;
includeNoValueFields?: boolean;
exportFormat?: boolean;
getMethod?: boolean;
submitCoordinates?: boolean;
submitUsingGet?: boolean;
xFDF?: boolean;
submitPDF?: boolean;
canonicalFormat?: boolean;
};
export type ScrollPageIntoViewOptions = ScrollIntoViewOptions & {
behavior?: ScrollBehavior;
block?: ScrollLogicalPosition;
inline?: ScrollLogicalPosition;
scrollMode?: 'always' | 'if-needed';
visibilityThreshold?: number;
};
export type ReplaceTextModel = {
newText: string;
selectedText: string;
selectedCoords: SelectedTextCoordinates;
fontInfo: {
font: string;
fontHeight: number;
fontFamily: string | null;
fontDescent: number;
scale: number;
};
};
export type SelectedTextCoordinates = {
pageIndex: number;
outerRect: number[];
quadPoints: {
x: number;
y: number;
}[][];
};
export type FontFormat = "truetype" | "opentype" | "woff" | "woff2" | "ttc";