# anysdk-ocr **Repository Path**: tianyuanoss/anysdk-ocr ## Basic Information - **Project Name**: anysdk-ocr - **Description**: anysdk cloud - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-07 - **Last Updated**: 2025-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AnySDK OCR AnySDK OCR 是一个统一的光学字符识别(OCR)访问框架,支持多种云服务提供商的 OCR 能力。 ## 项目简介 AnySDK OCR 旨在提供一个统一的接口来访问不同云服务提供商的 OCR 能力,目前支持: - 阿里云 OCR - 腾讯云 OCR(即将支持) - 百度云 OCR(即将支持) 通过 AnySDK OCR,您可以: - 使用统一的 API 访问不同的 OCR 服务 - 轻松切换不同的 OCR 服务提供商 - 获得一致的异常处理和日志记录 - 使用 Spring Boot Starter 快速集成到您的项目中 ## 快速开始 ### Maven 依赖 ```xml cn.com.anysdk anysdk-ocr ${latest.version} cn.com.anysdk anysdk-ocr-spring-boot-starter ${latest.version} ``` ### 基本用法 #### 1. 创建配置 ```java OcrProperties properties = new OcrProperties(); OcrProperties.AliyunProperties aliyunProperties = new OcrProperties.AliyunProperties(); aliyunProperties.setAccessKeyId("your-access-key-id"); aliyunProperties.setAccessKeySecret("your-access-key-secret"); aliyunProperties.setRegion("cn-shanghai"); properties.setAliyun(aliyunProperties); ``` #### 2. 创建 OCR 服务 ```java IOcrService ocrService = OcrServiceFactory.createService(properties); ``` #### 3. 识别图片 ```java // 从文件识别 File imageFile = new File("path/to/image.jpg"); OcrResult result = ocrService.recognize(imageFile, OcrOptions.defaultOptions()); // 从 URL 识别 String imageUrl = "https://example.com/image.jpg"; OcrResult result = ocrService.recognize(imageUrl, OcrOptions.defaultOptions()); // 从输入流识别 InputStream inputStream = new FileInputStream("path/to/image.jpg"); OcrResult result = ocrService.recognize(inputStream, OcrOptions.defaultOptions()); // 从字节数组识别 byte[] imageBytes = Files.readAllBytes(Paths.get("path/to/image.jpg")); OcrResult result = ocrService.recognize(imageBytes, OcrOptions.defaultOptions()); ``` #### 4. 处理结果 ```java // 获取识别文本 String text = result.getText(); System.out.println("识别结果:" + text); // 获取置信度 double confidence = result.getConfidence(); System.out.println("置信度:" + confidence); // 获取图片方向 float orientation = result.getOrientation(); System.out.println("图片方向:" + orientation); ``` ### Spring Boot 集成 如果您使用 Spring Boot,可以通过 `anysdk-ocr-spring-boot-starter` 快速集成。 #### 1. 添加配置 在 `application.yml` 中添加: ```yaml anysdk: ocr: aliyun: access-key-id: your-access-key-id access-key-secret: your-access-key-secret region: cn-shanghai ``` #### 2. 注入 OCR 服务 ```java @Autowired private IOcrService ocrService; ``` #### 3. 使用 OCR 服务 ```java @RestController @RequestMapping("/ocr") public class OcrController { @Autowired private IOcrService ocrService; @PostMapping("/recognize") public OcrResult recognize(@RequestParam("file") MultipartFile file) throws IOException { return ocrService.recognize( file.getInputStream(), OcrOptions.defaultOptions() ); } } ``` ## 主要特性 - **统一接口**:提供统一的 API 访问不同的 OCR 服务 - **多提供商支持**:支持阿里云、腾讯云、百度云等多个 OCR 服务提供商 - **灵活配置**:支持丰富的配置选项,包括图片预处理、重试策略等 - **异常处理**:统一的异常处理机制,提供详细的错误信息 - **监控支持**:内置监控机制,可以监控 OCR 服务的调用情况 - **Spring Boot 集成**:提供 Spring Boot Starter,快速集成到 Spring Boot 项目中 ## 文档 - [API 文档](API_DOCUMENTATION.md) - [错误码文档](ERROR_CODES.md) - [示例文档](EXAMPLES.md) - [贡献指南](CONTRIBUTING.md) ## 许可证 Apache License 2.0