办公文档识别

办公文档识别

专用API
【更新时间: 2024.04.12】 可对办公类文档的版面进行分析,输出图、表、标题、文本、目录、印章、栏、页眉、页脚、页码和脚注的位置,并输出分版块内容的OCR识别结果,支持表格识别和印章识别,支持中、英两种语言,手写、印刷体混排多种场景。
服务星级:6星
⭐ ⭐ ⭐ ⭐ ⭐ ⭐ 🌟
调用次数
0
集成人数
0
商用人数
0
! SLA: N/A
! 响应: N/A
! 适用于个人&企业
收藏
×
完成
取消
×
书签名称
确定
<
产品介绍
>

什么是办公文档识别?

 

服务详情

百度智能云办公文档识别服务能够对办公类文档的版面进行详细分析,输出文档中的图像、表格、标题、文本、目录、印章、栏、页眉、页脚、页码和脚注的位置信息,并提供分版块内客的OCR识别结果。该服务支持表格识别和印章识别,适配中英文两种语言,适用于手写、印刷体混合等多种场景。

 

核心功能

  • 文档版面分析:识别文档中的各个元素,如图像、表格、标题等,并定位其在文档中的位置。
  • 文档混排识别:支持中文、英文两种语言,适配纯手写、纯印刷和手写印刷混排等场景。
  • 表格文字识别:识别文档中的表格内容,返回单元格文字内容及其行列位置信息,支持各种表格样式。
  • 印章检测识别:检测并识别文档中的印章,输出印章内文字内容和印章位置信息,支持多种常见印章形状。

 

使用场景

与融合团队协作构建机器人
办公场景文档识别
企业年报、论文、行业报告等办公文档的结构化识别和信息提取。
通过多种通道和语言扩展你的市场宣传
合同和报告分析
对合同、报告等正式文件进行内容分析,提取关键信息。
全面的内置安全性和合规性
数据录入和归档
将纸质文档转换为电子数据,便于存储、检索和分析。
Azure AI 机器人服务定价
教育和研究
对教材、研究论文等文档进行结构化处理,便于内容的再利用和研究分析。
 
 

什么是办公文档识别接口?

由服务使用方的应用程序发起,以Restful风格为主、通过公网HTTP协议调用办公文档识别,从而实现程序的自动化交互,提高服务效率。
<
使用指南
>

办公文档识别服务Python示例代码:

# encoding:utf-8

import requests
import base64

'''
办公文档识别
'''

request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/doc_analysis_office"
# 二进制方式打开图片文件
f = open('[本地文件]', 'rb')
img = base64.b64encode(f.read())

params = {"image":img}
access_token = '[调用鉴权接口获取的token]'
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
if response:
    print (response.json())

 

办公文档识别服务JAVA示例代码:

package com.baidu.ai.aip;

import com.baidu.ai.aip.utils.Base64Util;
import com.baidu.ai.aip.utils.FileUtil;
import com.baidu.ai.aip.utils.HttpUtil;

import java.net.URLEncoder;

/**
* 办公文档识别
*/
public class AnalysisOffice {

    /**
    * 重要提示代码中所需工具类
    * FileUtil,Base64Util,HttpUtil,GsonUtils请从
    * https://ai.baidu.com/file/658A35ABAB2D404FBF903F64D47C1F72
    * https://ai.baidu.com/file/C8D81F3301E24D2892968F09AE1AD6E2
    * https://ai.baidu.com/file/544D677F5D4E4F17B4122FBD60DB82B3
    * https://ai.baidu.com/file/470B3ACCA3FE43788B5A963BF0B625F3
    * 下载
    */
    public static String analysisOffice() {
        // 请求url
        String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/doc_analysis_office";
        try {
            // 本地文件路径
            String filePath = "[本地文件路径]";
            byte[] imgData = FileUtil.readFileByBytes(filePath);
            String imgStr = Base64Util.encode(imgData);
            String imgParam = URLEncoder.encode(imgStr, "UTF-8");

            String param = "image=" + imgParam;

            // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
            String accessToken = "[调用鉴权接口获取的token]";

            String result = HttpUtil.post(url, accessToken, param);
            System.out.println(result);
            return result;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public static void main(String[] args) {
        AnalysisOffice.analysisOffice();
    }
}

 

办公文档识别服务JAVA示例代码:

#include <iostream>
#include <curl/curl.h>

// libcurl库下载链接:https://curl.haxx.se/download.html
// jsoncpp库下载链接:https://github.com/open-source-parsers/jsoncpp/
const static std::string request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/doc_analysis_office";
static std::string analysisOffice_result;
/**
 * curl发送http请求调用的回调函数,回调函数中对返回的json格式的body进行了解析,解析结果储存在全局的静态变量当中
 * @param 参数定义见libcurl文档
 * @return 返回值定义见libcurl文档
 */
static size_t callback(void *ptr, size_t size, size_t nmemb, void *stream) {
    // 获取到的body存放在ptr中,先将其转换为string格式
    analysisOffice_result = std::string((char *) ptr, size * nmemb);
    return size * nmemb;
}
/**
 * 办公文档识别
 * @return 调用成功返回0,发生错误返回其他错误码
 */
int analysisOffice(std::string &json_result, const std::string &access_token) {
    std::string url = request_url + "?access_token=" + access_token;
    CURL *curl = NULL;
    CURLcode result_code;
    int is_success;
    curl = curl_easy_init();
    if (curl) {
        curl_easy_setopt(curl, CURLOPT_URL, url.data());
        curl_easy_setopt(curl, CURLOPT_POST, 1);
        curl_httppost *post = NULL;
        curl_httppost *last = NULL;
        curl_formadd(&post, &last, CURLFORM_COPYNAME, "image", CURLFORM_COPYCONTENTS, "【base64_img】", CURLFORM_END);

        curl_easy_setopt(curl, CURLOPT_HTTPPOST, post);
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callback);
        result_code = curl_easy_perform(curl);
        if (result_code != CURLE_OK) {
            fprintf(stderr, "curl_easy_perform() failed: %s
",
                    curl_easy_strerror(result_code));
            is_success = 1;
            return is_success;
        }
        json_result = analysisOffice_result;
        curl_easy_cleanup(curl);
        is_success = 0;
    } else {
        fprintf(stderr, "curl_easy_init() failed.");
        is_success = 1;
    }
    return is_success;
}

 

办公文档识别服务PHP示例代码:

<?php
/**
 * 发起http post请求(REST API), 并获取REST请求的结果
 * @param string $url
 * @param string $param
 * @return - http response body if succeeds, else false.
 */
function request_post($url = '', $param = '')
{
    if (empty($url) || empty($param)) {
        return false;
    }

    $postUrl = $url;
    $curlPost = $param;
    // 初始化curl
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $postUrl);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    // 要求结果为字符串且输出到屏幕上
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    // post提交方式
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
    // 运行curl
    $data = curl_exec($curl);
    curl_close($curl);

    return $data;
}

$token = '[调用鉴权接口获取的token]';
$url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/doc_analysis_office?access_token=' . $token;
$img = file_get_contents('[本地文件路径]');
$img = base64_encode($img);
$bodys = array(
    'image' => $img
);
$res = request_post($url, $bodys);

var_dump($res);

 

办公文档识别服务C#示例代码:

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Web;

namespace com.baidu.ai
{
    public class AnalysisOffice
    {
        // 办公文档识别
        public static string analysisOffice()
        {
            string token = "[调用鉴权接口获取的token]";
            string host = "https://aip.baidubce.com/rest/2.0/ocr/v1/doc_analysis_office?access_token=" + token;
            Encoding encoding = Encoding.Default;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(host);
            request.Method = "post";
            request.KeepAlive = true;
            // 图片的base64编码
            string base64 = getFileBase64("[本地图片文件]");
            String str = "image=" + HttpUtility.UrlEncode(base64);
            byte[] buffer = encoding.GetBytes(str);
            request.ContentLength = buffer.Length;
            request.GetRequestStream().Write(buffer, 0, buffer.Length);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);
            string result = reader.ReadToEnd();
            Console.WriteLine("办公文档识别:");
            Console.WriteLine(result);
            return result;
        }

        public static String getFileBase64(String fileName) {
            FileStream filestream = new FileStream(fileName, FileMode.Open);
            byte[] arr = new byte[filestream.Length];
            filestream.Read(arr, 0, (int)filestream.Length);
            string baser64 = Convert.ToBase64String(arr);
            filestream.Close();
            return baser64;
        }
    }
}
<
产品问答
>
?
需要使用什么账号登录?
您需要拥有一个百度账号,用来登录百度云,可以点击此处注册百度账户。如您以前拥有百度推广账户,同样可以登录百度云。
?
注册百度账户时收不到验证码怎么办?
由于欠费停机、存储信息已满、信号网络延迟等原因没有及时收到验证码,这时请检查您的手机及话费余额,保证手机可正常接收短信后,请尝试重新获取验证码。
?
AI服务支持推广账号使用么?
支持推广账户使用。
?
百度大脑目前开放了哪些能力?
百度大脑是百度 AI 核心技术引擎,包括视觉、语音、自然语言处理、知识图谱、深度学习等AI核心技术和AI开放平台。百度大脑对内支持百度所有业务,对外全方位开放,助力合作伙伴和开发者,加速AI技术落地应用,赋能各行各业转型升级,并赋能行业客户。
?
每个服务的请求配额都是免费的么?
目前我们为每个账户下的每项API服务,都设置了固定的免费请求配额,便于您体验服务及应用调试。在免费试用阶段,成功调用或失败调用都算做一次有效调用,会消耗免费测试资源。
?
QPS超限怎么办?
QPS超限可以根据您的需求,进行购买。百度AI技术服务的详细价目表: https://ai.baidu.com/ai-doc/REFERENCE/hk3dwjfzo 价目表包含:免费测试资源、计费简介、计费价目表、费用列举等。
?
怎么提高识别的准确率和识别速度?
文字识别的准确率跟拍摄光照、背景、清晰度等因素有关。推荐上传JPG图片格式,图片大小建议1M以内。可在图片采集端尽量扩大要识别文字的区域,并保证图片内文字清晰人眼可辨认、倾斜度不得小于30%。同时,适当压缩图片大小,可大幅缩短图片识别时间。
<
关于我们
>
北京百度网讯科技有限公司是一家领先的人工智能平台型公司,提供全面的云服务和解决方案。公司依托强大的云计算能力,结合百度大脑和大数据技术,为企业和开发者提供包括云服务器、对象存储、内容分发网络、人工智能、企业服务等在内的多样化产品和服务。通过智能化解决方案,百度智能云助力各行业实现数字化转型和智能化升级,推动产业创新和社会进步。
联系信息
服务时间: 7 * 24
电话号码: 400-920-8999转1
网页在线客服: 咨询

安全合规可信的云服务

<
最可能同场景使用的其他API
>
API接口列表
<
使用指南
>

办公文档识别服务Python示例代码:

# encoding:utf-8

import requests
import base64

'''
办公文档识别
'''

request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/doc_analysis_office"
# 二进制方式打开图片文件
f = open('[本地文件]', 'rb')
img = base64.b64encode(f.read())

params = {"image":img}
access_token = '[调用鉴权接口获取的token]'
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
if response:
    print (response.json())

 

办公文档识别服务JAVA示例代码:

package com.baidu.ai.aip;

import com.baidu.ai.aip.utils.Base64Util;
import com.baidu.ai.aip.utils.FileUtil;
import com.baidu.ai.aip.utils.HttpUtil;

import java.net.URLEncoder;

/**
* 办公文档识别
*/
public class AnalysisOffice {

    /**
    * 重要提示代码中所需工具类
    * FileUtil,Base64Util,HttpUtil,GsonUtils请从
    * https://ai.baidu.com/file/658A35ABAB2D404FBF903F64D47C1F72
    * https://ai.baidu.com/file/C8D81F3301E24D2892968F09AE1AD6E2
    * https://ai.baidu.com/file/544D677F5D4E4F17B4122FBD60DB82B3
    * https://ai.baidu.com/file/470B3ACCA3FE43788B5A963BF0B625F3
    * 下载
    */
    public static String analysisOffice() {
        // 请求url
        String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/doc_analysis_office";
        try {
            // 本地文件路径
            String filePath = "[本地文件路径]";
            byte[] imgData = FileUtil.readFileByBytes(filePath);
            String imgStr = Base64Util.encode(imgData);
            String imgParam = URLEncoder.encode(imgStr, "UTF-8");

            String param = "image=" + imgParam;

            // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
            String accessToken = "[调用鉴权接口获取的token]";

            String result = HttpUtil.post(url, accessToken, param);
            System.out.println(result);
            return result;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public static void main(String[] args) {
        AnalysisOffice.analysisOffice();
    }
}

 

办公文档识别服务JAVA示例代码:

#include <iostream>
#include <curl/curl.h>

// libcurl库下载链接:https://curl.haxx.se/download.html
// jsoncpp库下载链接:https://github.com/open-source-parsers/jsoncpp/
const static std::string request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/doc_analysis_office";
static std::string analysisOffice_result;
/**
 * curl发送http请求调用的回调函数,回调函数中对返回的json格式的body进行了解析,解析结果储存在全局的静态变量当中
 * @param 参数定义见libcurl文档
 * @return 返回值定义见libcurl文档
 */
static size_t callback(void *ptr, size_t size, size_t nmemb, void *stream) {
    // 获取到的body存放在ptr中,先将其转换为string格式
    analysisOffice_result = std::string((char *) ptr, size * nmemb);
    return size * nmemb;
}
/**
 * 办公文档识别
 * @return 调用成功返回0,发生错误返回其他错误码
 */
int analysisOffice(std::string &json_result, const std::string &access_token) {
    std::string url = request_url + "?access_token=" + access_token;
    CURL *curl = NULL;
    CURLcode result_code;
    int is_success;
    curl = curl_easy_init();
    if (curl) {
        curl_easy_setopt(curl, CURLOPT_URL, url.data());
        curl_easy_setopt(curl, CURLOPT_POST, 1);
        curl_httppost *post = NULL;
        curl_httppost *last = NULL;
        curl_formadd(&post, &last, CURLFORM_COPYNAME, "image", CURLFORM_COPYCONTENTS, "【base64_img】", CURLFORM_END);

        curl_easy_setopt(curl, CURLOPT_HTTPPOST, post);
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callback);
        result_code = curl_easy_perform(curl);
        if (result_code != CURLE_OK) {
            fprintf(stderr, "curl_easy_perform() failed: %s
",
                    curl_easy_strerror(result_code));
            is_success = 1;
            return is_success;
        }
        json_result = analysisOffice_result;
        curl_easy_cleanup(curl);
        is_success = 0;
    } else {
        fprintf(stderr, "curl_easy_init() failed.");
        is_success = 1;
    }
    return is_success;
}

 

办公文档识别服务PHP示例代码:

<?php
/**
 * 发起http post请求(REST API), 并获取REST请求的结果
 * @param string $url
 * @param string $param
 * @return - http response body if succeeds, else false.
 */
function request_post($url = '', $param = '')
{
    if (empty($url) || empty($param)) {
        return false;
    }

    $postUrl = $url;
    $curlPost = $param;
    // 初始化curl
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $postUrl);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    // 要求结果为字符串且输出到屏幕上
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    // post提交方式
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
    // 运行curl
    $data = curl_exec($curl);
    curl_close($curl);

    return $data;
}

$token = '[调用鉴权接口获取的token]';
$url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/doc_analysis_office?access_token=' . $token;
$img = file_get_contents('[本地文件路径]');
$img = base64_encode($img);
$bodys = array(
    'image' => $img
);
$res = request_post($url, $bodys);

var_dump($res);

 

办公文档识别服务C#示例代码:

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Web;

namespace com.baidu.ai
{
    public class AnalysisOffice
    {
        // 办公文档识别
        public static string analysisOffice()
        {
            string token = "[调用鉴权接口获取的token]";
            string host = "https://aip.baidubce.com/rest/2.0/ocr/v1/doc_analysis_office?access_token=" + token;
            Encoding encoding = Encoding.Default;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(host);
            request.Method = "post";
            request.KeepAlive = true;
            // 图片的base64编码
            string base64 = getFileBase64("[本地图片文件]");
            String str = "image=" + HttpUtility.UrlEncode(base64);
            byte[] buffer = encoding.GetBytes(str);
            request.ContentLength = buffer.Length;
            request.GetRequestStream().Write(buffer, 0, buffer.Length);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);
            string result = reader.ReadToEnd();
            Console.WriteLine("办公文档识别:");
            Console.WriteLine(result);
            return result;
        }

        public static String getFileBase64(String fileName) {
            FileStream filestream = new FileStream(fileName, FileMode.Open);
            byte[] arr = new byte[filestream.Length];
            filestream.Read(arr, 0, (int)filestream.Length);
            string baser64 = Convert.ToBase64String(arr);
            filestream.Close();
            return baser64;
        }
    }
}
<
依赖服务
>
<
产品问答
>
?
需要使用什么账号登录?
您需要拥有一个百度账号,用来登录百度云,可以点击此处注册百度账户。如您以前拥有百度推广账户,同样可以登录百度云。
?
注册百度账户时收不到验证码怎么办?
由于欠费停机、存储信息已满、信号网络延迟等原因没有及时收到验证码,这时请检查您的手机及话费余额,保证手机可正常接收短信后,请尝试重新获取验证码。
?
AI服务支持推广账号使用么?
支持推广账户使用。
?
百度大脑目前开放了哪些能力?
百度大脑是百度 AI 核心技术引擎,包括视觉、语音、自然语言处理、知识图谱、深度学习等AI核心技术和AI开放平台。百度大脑对内支持百度所有业务,对外全方位开放,助力合作伙伴和开发者,加速AI技术落地应用,赋能各行各业转型升级,并赋能行业客户。
?
每个服务的请求配额都是免费的么?
目前我们为每个账户下的每项API服务,都设置了固定的免费请求配额,便于您体验服务及应用调试。在免费试用阶段,成功调用或失败调用都算做一次有效调用,会消耗免费测试资源。
?
QPS超限怎么办?
QPS超限可以根据您的需求,进行购买。百度AI技术服务的详细价目表: https://ai.baidu.com/ai-doc/REFERENCE/hk3dwjfzo 价目表包含:免费测试资源、计费简介、计费价目表、费用列举等。
?
怎么提高识别的准确率和识别速度?
文字识别的准确率跟拍摄光照、背景、清晰度等因素有关。推荐上传JPG图片格式,图片大小建议1M以内。可在图片采集端尽量扩大要识别文字的区域,并保证图片内文字清晰人眼可辨认、倾斜度不得小于30%。同时,适当压缩图片大小,可大幅缩短图片识别时间。
<
关于我们
>
北京百度网讯科技有限公司是一家领先的人工智能平台型公司,提供全面的云服务和解决方案。公司依托强大的云计算能力,结合百度大脑和大数据技术,为企业和开发者提供包括云服务器、对象存储、内容分发网络、人工智能、企业服务等在内的多样化产品和服务。通过智能化解决方案,百度智能云助力各行业实现数字化转型和智能化升级,推动产业创新和社会进步。
联系信息
服务时间: 7 * 24
电话号码: 400-920-8999转1
网页在线客服: 咨询

安全合规可信的云服务

<
合作案例
>

寿光蔬菜

 

泰康人寿

 

国家电网 国网新疆电力公司

 

常熟经济技术开发区

 

火星人集成灶

 

宝钢集团

 

BAOWU

 

源创电喷

 

恒逸

 

中国建材集团有限公司

 

国家电网湖南电力公司

 

 

重庆两江新区 三一重工 徐州工业
<
最可能同场景使用的其他API
>