UNPKG

paddleocr-js

Version:

JavaScript wrapper for PaddleOCR, providing OCR capabilities in browser and Node.js

98 lines (97 loc) 2.45 kB
/// <reference types="node" /> /// <reference types="node" /> export interface Point { x: number; y: number; } export interface TextBox { id: number; box: Point[]; score: number; } export interface TextLine { text: string; score: number; box?: TextBox; } export interface OCRResult { textDetection: TextBox[]; textRecognition: TextLine[]; duration: { preprocess: number; detection: number; recognition: number; total: number; }; } export interface TableResult { structure: any; cells: { box: Point[]; text: string; rowspan: number; colspan: number; row: number; col: number; }[]; html: string; } export interface LayoutResult { regions: { type: string; box: Point[]; score: number; content?: string | TableResult; }[]; } export interface PaddleOCROptions { modelPath?: string; useTensorflow?: boolean; useONNX?: boolean; useWasm?: boolean; enableDetection?: boolean; detectionModel?: "DB" | "DB++" | "East" | string; enableRecognition?: boolean; recognitionModel?: "CRNN" | "SVTR" | string; language?: string; enableTable?: boolean; enableLayout?: boolean; enableFormula?: boolean; maxSideLen?: number; threshold?: number; batchSize?: number; enableGPU?: boolean; onProgress?: (progress: number, stage: string) => void; } export interface ProcessOptions { mode?: "text" | "table" | "layout" | "all"; returnOriginalImage?: boolean; useAngle?: boolean; useDeskew?: boolean; } export type ImageSource = HTMLImageElement | HTMLCanvasElement | ImageData | string | Uint8Array | Buffer; /** * WorkerHelper的静态类型 */ export interface WorkerHelperConstructor { new (options: PaddleOCROptions, workerUrl?: string): any; } /** * ResultVisualizer的静态类型 */ export interface ResultVisualizerConstructor { new (container: string | HTMLElement, options?: any): any; } /** * LightVisualizer的静态类型 */ export interface LightVisualizerConstructor { new (container: string | HTMLElement, options?: any): any; } export interface PaddleOCRStatic { new (options?: PaddleOCROptions): any; version: string; WorkerHelper: WorkerHelperConstructor; ResultVisualizer: ResultVisualizerConstructor; LightVisualizer: LightVisualizerConstructor; }