合合信息TextIn服务使用心得

2024-01-30 17:36

本文主要是介绍合合信息TextIn服务使用心得,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

    • 一、前言
    • 二、TextIn简介
      • 2.1、通用文字识别
      • 2.2、国内通用票据识别
      • 2.3、通用表格识别
    • 三、项目案例
      • 3.1、application.yml
      • 3.2、TextInService
      • 3.3、TextInController
      • 3.4、测试
    • 四、总结

一、前言

智能图像处理、文字表格识别、文档内容提取产品的背景源自于人工智能技术的快速发展和广泛应用。随着计算机视觉和自然语言处理技术的不断进步,人工智能在图像处理和文字识别领域取得了巨大的突破,使得这些产品能够实现更加精准和高效的功能。

  • 在图像处理方面,智能图像处理产品能够识别图像中的各种物体、场景和特征,并进行自动标注和分类。这使得用户能够快速找到他们需要的信息,提高工作效率。同时,这些产品还能够对图像进行修复和增强,提高图像的质量和清晰度。
  • 在文字表格识别方面,这些产品能够识别图像中的文字和表格,并将其转换为可编辑的文档。这使得用户能够方便地提取图像中的文字信息,编辑和分享文档内容。同时,这些产品还能够识别表格中的数据,并将其转换为可编辑的电子表格,方便用户进行数据分析和处理。
  • 在文档内容提取方面,这些产品能够自动提取文档中的关键信息和内容,并进行分类和整理。这使得用户能够快速找到他们需要的信息,节省时间和精力。同时,这些产品还能够将文档内容转换为可编辑的电子文档,方便用户进行编辑和分享。

二、TextIn简介

合合信息是一家人工智能及大数据科技企业,基于自主研发的领先的智能文字识别及商业大数据核心技术,为全球C端用户和多元行业B端客户提供数字化、智能化的产品及服务。C端业务主要为面向全球个人用户的APP产品,包括扫描全能王(智能扫描及文字识别APP)、名片全能王(智能名片及人脉管理APP)、启信宝(企业商业信息查询APP)3款核心产品;公司B端业务为面向企业客户提供以智能文字识别、商业大数据为核心的服务,形成了包括基础技术服务、标准化服务和场景化解决方案的业务矩阵,满足客户降本增效、风险管理、智能营销等多元需求,助力客户实现数字化与智能化的转型升级。凭借领先的自主研发技术、成熟的产品落地能力、优质的用户体验及服务质量,公司的C端产品覆盖了全球百余个国家和地区的亿级用户,B端服务覆盖了近30个行业的企业客户。在B端业务方面,公司智能文字识别与商业大数据服务已覆盖了银行、证券、保险、政府、物流、制造、地产、零售等近30个行业的众多头部客户。《财富》杂志2022年发布的世界500强公司名单中,公司客户已覆盖超过125家。

TextIn是上海合合信息科技股份有限公司旗下智能文字识别云服务平台
官网地址:https://www.textin.com
为全球用户提供智能图像处理、文字表格识别、文档内容提取产品
其提供的服务及其丰富,几乎可以满足多有开发者关于智能图像处理、文字识别等的需求。
在这里插入图片描述
关键的是TextIn提供的API控制台简洁易用,对于资历不深的开发者十分友好。
下面我来列举几个其公司提供的产品服务。

2.1、通用文字识别

基于自研的文字识别技术,覆盖文字、文档、表格、印章、二维码、公式等多种通用场景,提供全球50+主流语言的印刷体、手写体的高精度识别能力。可用于纸质文档电子化、办公文档/报表识别、教育类文本识别、快递面单识别等场景。

识别普通文字:

在这里插入图片描述

效果如下:
可以看到每种文字都被准确的识别出来,
在这里插入图片描述

除了普通文字识别,同时支持印刷体、手写体、倾斜、折叠、旋转等

识别印刷体:

在这里插入图片描述

效果如下:

在这里插入图片描述

识别手写体:
在这里插入图片描述
效果如下:
在这里插入图片描述
可以看到无论是普通文字、印刷体、手写体,识别效果都十分的好。

2.2、国内通用票据识别

支持对多种票据类型(多票据)票据切分、票据分类、票据识别,包括增值税普通发票、增值税普通发票(卷票)、增值税专用发票、增值税电子专用发票、增值税电子普通发票、货物运输业增值税专用发票(仅支持分类不做识别)、机动车销售统一发票、二手车销售统一发票、通用机打发票、通用定额发票、旅客运输普票、公路客运发票、船运客票、出租车发票、停车费发票、过路过桥费发票、教育费收据(仅支持分类不做识别)、行程单、火车票、增值税销货清单和其他可报销票据。

样本数据:
在这里插入图片描述

识别效果:

在这里插入图片描述

2.3、通用表格识别

通用表格识别适用于带有表格的文档图像
上传图片返回表格区域分析后的文字识别结果以及表格外区域的其他文字识别结果

样本数据:

在这里插入图片描述

识别效果:

在这里插入图片描述

三、项目案例

在我们的项目中,需要将用户上传的图片中的文字交给大模型来处理,这样就需要用到文字识别技术,合合信息TextIn服务正好满足我们的需求,并且合合信息TextIn服务的通用文字识别服务API调用简单,有详细的API说明文档和示例代码,在开发过程中极大的节省了我们的时间。
在这里插入图片描述

在示例代码中,支持多种主流的语言:Java、C#、python、Node.js、PHP以及HTML

在这里插入图片描述

合合信息TextIn服务还支持在线调试功能

  • 实时监控和分析API请求和响应数据,帮助开发人员快速定位和解决问题。
  • 可以模拟不同的请求参数和环境,方便开发人员测试和调试API接口

在这里插入图片描述

下面我来用Java语言举一个使用合合信息TextIn服务的例子

我们以通用文字识别为例

我们创建一个SpringBoot项目,在配置文件中写入一下信息:

3.1、application.yml

# 应用服务 WEB 访问端口
server:port: 8888# TextIn服务参数
textin:appid: 你的appidsecretcode: 你的secretcode

3.2、TextInService

接下来我们编写通用文字识别的逻辑代码,其本质是调用TextInAPI代码如下:

package com.csust.medicalassistant.service.impl;import cn.hutool.core.io.FileUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.csust.medicalassistant.common.CommonResult;
import com.csust.medicalassistant.dto.MessageDTO;
import com.csust.medicalassistant.dto.TextDTO;
import com.csust.medicalassistant.service.TextInService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;import java.io.*;
import java.util.HashMap;
import java.util.Map;/*** @author niuben*/
@Slf4j
@Service
public class TextInServiceImpl implements TextInService {@Value("${textin.appid}")public String appId;@Value("${textin.secretcode}")public String secretCode;@Overridepublic JSONObject imgToText(String imgPath) {byte[] imgData = readfile(imgPath);// 通用文字识别String url = "https://api.textin.com/ai/service/v2/recognize";// 添加请求头信息Map<String, String> heads = new HashMap<>();// 使用json发送请求,下面的是必须的heads.put("connection", "Keep-Alive");heads.put("Content-Type", "application/octet-stream");heads.put("x-ti-app-id", appId);heads.put("x-ti-secret-code", secretCode);/**** headerMap是添加的请求头,body是传入的参数,这里选择json,后端使用@RequestBody接收ERNIE-Bot 4.0*/HttpResponse response = HttpRequest.post(url).headerMap(heads, false).body(imgData).timeout(5 * 60 * 1000).execute();// 数据解析JSONObject jsonResponse = JSONUtil.parseObj(response.body());JSONObject result = (JSONObject) jsonResponse.get("result");return result;}public static byte[] readfile(String path){String imgFile = path;InputStream in = null;byte[] data = null;try{in = new FileInputStream(imgFile);data = new byte[in.available()];in.read(data);in.close();}catch (IOException e) {e.printStackTrace();}return data;}}

3.3、TextInController

然后我们定义接口

package com.csust.medicalassistant.controller;import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.csust.medicalassistant.common.CommonResult;
import com.csust.medicalassistant.service.TextInService;
import com.csust.medicalassistant.utils.ImageUtil;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import javax.annotation.Resource;/*** @author niuben*/
@RestController
public class TextInController {@Resourceprivate TextInService textInService;@Resourceprivate ImageUtil imageUtil;@ApiOperation("文字识别")@PostMapping("/getinfo")public CommonResult<Object> imageToJson(MultipartFile file){//上传图片String imgPath = imageUtil.uploadImgToLocal(file);//图片识别JSONObject result = textInService.imgToText(imgPath);return CommonResult.success(JSONUtil.toJsonStr(result));}}

3.4、测试

样本图片
在这里插入图片描述
识别效果:

可以看到识别效果准确率很高

在这里插入图片描述

四、总结

总的来说合合信息的TextIn服务对于开发者来说十分友好,不仅提供的服务丰富,并且使用起来简单易上手,其识别的准确率极高,几乎上可以满足有关文字和图片处理的所有需求,强烈推荐给大家使用,再放一下官网地址:
https://www.textin.com

这篇关于合合信息TextIn服务使用心得的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/661010

相关文章

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完