JavaScript wrapper for PaddleOCR, providing OCR capabilities in browser and Node.js
npm install paddleocr-jsJavaScript wrapper for PaddleOCR, providing OCR capabilities in browser and Node.js
``bashnpm
npm install paddleocr-js
基本用法
$3
`html
`$3
`javascript
const { PaddleOCR } = require('paddleocr-js');
const fs = require('fs');async function runOCR() {
// 创建PaddleOCR实例
const paddleOCR = new PaddleOCR({
modelPath: 'path/to/models',
useTensorflow: true
});
// 初始化
await paddleOCR.init();
// 读取图像并识别
const imageBuffer = fs.readFileSync('path/to/image.jpg');
const result = await paddleOCR.recognize(imageBuffer);
console.log(result);
}
runOCR();
`$3
`javascript
import { PaddleOCR } from 'paddleocr-js';async function detectText() {
const paddleOCR = new PaddleOCR({
modelPath: 'path/to/models',
useTensorflow: true,
useWasm: true
});
await paddleOCR.init();
const result = await paddleOCR.recognize(imageElement);
return result;
}
`配置选项
`javascript
const options = {
// 模型路径
modelPath: 'path/to/models',
// 后端选择
useTensorflow: true, // 使用TensorFlow.js作为后端
useONNX: false, // 使用ONNX Runtime作为后端
// 特定环境优化
useWasm: true, // 在浏览器中使用WASM加速
enableGPU: false, // 在Node.js中启用GPU加速
// 模型选择
detectionModel: 'DB', // 文字检测模型
recognitionModel: 'CRNN', // 文字识别模型
// 语言设置
language: 'ch', // 支持语言: 'ch', 'en', 'japan', 'korean' 等
// 功能开关
enableDetection: true, // 启用文本检测
enableRecognition: true, // 启用文本识别
enableLayout: false, // 启用版面分析
enableTable: false, // 启用表格识别
// 性能设置
maxWorkers: 4, // WebWorker最大数量
maxConcurrency: 4, // 最大并发任务数
// 回调函数
onProgress: (progress, stage) => {
console.log(进度: ${progress}%, 阶段: ${stage});
}
};const paddleOCR = new PaddleOCR(options);
``详细API文档请参见API文档。
- Chrome 83+
- Firefox 79+
- Safari 15.4+
- Edge 83+
- Node.js 14.x 及以上版本
Apache 2.0
如果您想为项目做出贡献,请参阅贡献指南。
- PaddleOCR - 高效的OCR工具库
- TensorFlow.js - 用于在浏览器和Node.js中训练和部署ML模型的JavaScript库