日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

表格智能解析

表格智能解析接口可以進行表格抽取和理解,從pdf或圖片格式的表格文檔中提取出表格樣式、表格內容、文本KV、表格KV等信息。本文介紹了表格智能解析API的調用方式,調用前,請先閱讀API使用指南

調用方式

表格智能解析接口為異步接口,需要先調用表格智能解析異步提交服務SubmitTableUnderstandingJob或SubmitTableUnderstandingJobAdvance接口進行異步任務提交,然后調用表格智能解析結果查詢服務GetTableUnderstandingResult接口進行結果輪詢。

說明
  • 建議每10秒輪詢一次,最多輪詢120分鐘,如果120分鐘還未查詢到處理完成結果,則視為處理超時。

  • 當異步任務處理提交后,用戶可以在處理結束后的24小時之內查詢處理結果,超過24小時后將無法查詢到處理結果。

  • 免費額度為100頁,用完即止。若您的免費額度或資源包消耗完畢,系統將默認采用按量付費的后付費計費方式。

  • 首次解析超過100頁的文檔,解析成功后,系統會自動進入后付費計費模式,產生后付費賬單。

  • 支持的文檔格式:pdf和圖片,圖片支持jpg、jpeg、png、bmp、gif。

步驟一:調用表格智能解析異步提交服務SubmitTableUnderstandingJob接口

異步提交服務支持本地文件和url文件兩種方式:

  • url文件上傳的異步提交服務接口為:SubmitTableUnderstandingJob接口。

  • 本地文件上傳的異步提交服務接口為:SubmitTableUnderstandingJobAdvance接口。

請求參數

名稱

類型

必填

描述

示例值

FileUrl

string

以url文件方式上傳調用接口時使用。

單個文檔(支持1000頁以內、100 MB以內的pdf文檔,支持20 MB以內的單張圖片)。

https://example.com/example.pdf

FileUrlObject

stream

以本地文件方式上傳調用接口時使用。

單個文檔(支持1000頁以內、100 MB以內的pdf文檔,支持20 MB以內的單張圖片)。

本地文件生成的FileInputStream

FileName

string

文件名,需帶文件類型后綴。與fileNameExtension二選一。

example.pdf

FileNameExtension

string

文件類型,與fileName二選一。支持類型:pdf、jpg、jpeg、png、bmp、gif。

pdf

返回參數

名稱

類型

描述

示例值

RequestId

string

請求唯一ID。

43A29C77-405E-4CC0-BC55-EE694AD0****

Data

object

返回數據。

{"Id": "docmind-20220712-b15f****"}

id

string

業務訂單號,用于后續查詢接口進行查詢的唯一標識。

docmind-20220712-b15f****

Code

string

狀態碼。

200

Message

string

詳細信息。

Message

使用示例

本接口支持本地文件上傳和url文件上傳這兩種調用方式。

  • 本地文件上傳:以Java SDK為例,本地文檔上傳調用方式的請求示例代碼如下,調用表格智能解析異步提交服務SubmitTableUnderstandingJobAdvance接口,通過fileUrlObject參數實現本地文檔上傳。

    說明

    獲取并使用AccessKey信息的方式,可參考SDK概述中不同語言的SDK使用指南。

    import com.aliyun.docmind_api20220711.models.*;
    import com.aliyun.teaopenapi.models.Config;
    import com.aliyun.docmind_api20220711.Client;
    import com.aliyun.teautil.models.RuntimeOptions;
    import java.io.File;
    import java.io.FileInputStream;
    
    public static void main(String[] args) throws Exception {
            submit();
        }
    public static void submit() throws Exception {
        // 使用默認憑證初始化Credentials Client。
        com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
        Config config = new Config()
            // 通過credentials獲取配置中的AccessKey ID
            .setAccessKeyId(credentialClient.getAccessKeyId())
            // 通過credentials獲取配置中的AccessKey Secret
            .setAccessKeySecret(credentialClient.getAccessKeySecret());
        // 訪問的域名,支持ipv4和ipv6兩種方式,ipv6請使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
        config.endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
        Client client = new Client(config);
        // 創建RuntimeObject實例并設置運行參數
        RuntimeOptions runtime = new RuntimeOptions();
        SubmitTableUnderstandingJobAdvanceRequest advanceRequest = new SubmitTableUnderstandingJobAdvanceRequest();
        File file = new File("D:\\example.pdf");
        advanceRequest.fileUrlObject = new FileInputStream(file);
        advanceRequest.fileName = "example.pdf";
        // 4 發起請求并處理應答或異常。
        SubmitTableUnderstandingJobResponse response =
            client.submitTableUnderstandingJobAdvance(advanceRequest, runtime);
            System.out.println(JSON.toJSON(response.getBody()));
    }
    const Client = require('@alicloud/docmind-api20220711');
    const Credential = require('@alicloud/credentials');
    const Util = require('@alicloud/tea-util');
    const fs = require('fs');
    
    const getResult = async () => {
      // 使用默認憑證初始化Credentials Client
      const cred = new Credential.default();
      const client = new Client.default({
        // 訪問的域名,支持ipv4和ipv6兩種方式,ipv6請使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
        endpoint: 'docmind-api.cn-hangzhou.aliyuncs.com',
        // 通過credentials獲取配置中的AccessKey ID
        accessKeyId: cred.credential.accessKeyId,
        // 通過credentials獲取配置中的AccessKey Secret
        accessKeySecret: cred.credential.accessKeySecret,
        type: 'access_key',
        regionId: 'cn-hangzhou',
      });
      const advanceRequest = new Client.SubmitTableUnderstandingJobAdvanceRequest();
      const file = fs.createReadStream('./example.pdf');
      advanceRequest.fileUrlObject = file;
      advanceRequest.fileName = 'example.pdf';
      const runtimeObject = new Util.RuntimeOptions({});
      const response = await client.submitTableUnderstandingJobAdvance(advanceRequest, runtimeObject);
      return response.body;
     };
     
     
    from alibabacloud_docmind_api20220711.client import Client as docmind_api20220711Client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_docmind_api20220711 import models as docmind_api20220711_models
    from alibabacloud_tea_util.client import Client as UtilClient
    from alibabacloud_tea_util import models as util_models
    from alibabacloud_credentials.client import Client as CredClient
    
    if __name__ == '__main__':
        cred=CredClient()
        config = open_api_models.Config(
            # 通過credentials獲取配置中的AccessKey ID
            access_key_id=cred.get_credential().get_access_key_id(),
            # 通過credentials獲取配置中的AccessKey Secret
            access_key_secret=cred.get_credential().get_access_key_secret()
        )
        # 訪問的域名
        config.endpoint = f'docmind-api.cn-hangzhou.aliyuncs.com'
        client = docmind_api20220711Client(config)
        request = docmind_api20220711_models.SubmitTableUnderstandingJobAdvanceRequest(
            # file_url_object : 本地文件流
            file_url_object=open("./example.pdf", "rb"),
            # file_name :文件名稱。名稱必須包含文件類型
            file_name='123.pdf',
            # file_name_extension : 文件后綴格式。與文件名二選一
            # file_name_extension='pdf'
        )
        runtime = util_models.RuntimeOptions()
        try:
            # 復制代碼運行請自行打印 API 的返回值
            response = client.submit_table_understanding_job_advance(request, runtime)
            # API返回值格式層級為 body -> data -> 具體屬性。可根據業務需要打印相應的結果。如下示例為打印返回的業務id格式
            # 獲取屬性值均以小寫開頭,
            print(response.body)
        except Exception as error:
            # 如有需要,請打印 error
            UtilClient.assert_as_string(error.message)
            
    import (
    	"fmt"
    	"os"
      
    	openClient "github.com/alibabacloud-go/darabonba-openapi/v2/client"
    	"github.com/alibabacloud-go/docmind-api-20220711/client"
    	"github.com/alibabacloud-go/tea-utils/v2/service"
      "github.com/aliyun/credentials-go/credentials"
    )
    
    
    func submit(){
      // 使用默認憑證初始化Credentials Client。
    	credential, err := credentials.NewCredential(nil)
    	// 通過credentials獲取配置中的AccessKey ID
    	accessKeyId, err := credential.GetAccessKeyId()
    	// 通過credentials獲取配置中的AccessKey Secret
    	accessKeySecret, err := credential.GetAccessKeySecret()
      // 訪問的域名,支持ipv4和ipv6兩種方式,ipv6請使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
      var endpoint string = "docmind-api.cn-hangzhou.aliyuncs.com"
    	config := openClient.Config{AccessKeyId: accessKeyId, AccessKeySecret: accessKeySecret, Endpoint: &endpoint}
      // 初始化client
      cli, err := client.NewClient(&config)
    	if err != nil {
    		panic(err)
    	}
      // 上傳本地文檔調用接口
      filename := "D:\\example.pdf"    
      f, err := os.Open(filename)
    	if err != nil {
        panic(err)
    	}
      // 初始化接口request
      request := client.SubmitTableUnderstandingJobAdvanceRequest{
    		FileName:      &filename,
    		FileUrlObject: f,
    	}
      // 創建RuntimeObject實例并設置運行參數
      options := service.RuntimeOptions{}
      response, err := cli.SubmitTableUnderstandingJobAdvance(&request, &options)
      if err != nil {
    		panic(err)
    	}
      // 打印結果
    	fmt.Println(response.Body.String())
    }
    using Newtonsoft.Json;
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.IO;
    using System.Threading.Tasks;
    
    using Tea;
    using Tea.Utils;
    
    public static void SubmitFile()
            {
                // 使用默認憑證初始化Credentials Client。
              	var akCredential = new Aliyun.Credentials.Client(null);
                AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
                {
                    // 通過credentials獲取配置中的AccessKey Secret
                    AccessKeyId = akCredential.GetAccessKeyId(),
                    // 通過credentials獲取配置中的AccessKey Secret
                    AccessKeySecret = akCredential.GetAccessKeySecret(),
                };
                // 訪問的域名
                config.Endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
                //需要安裝額外的依賴庫--> AlibabaCloud.DarabonbaStream
                AlibabaCloud.SDK.Docmind_api20220711.Client client = new AlibabaCloud.SDK.Docmind_api20220711.Client(config);
                Stream bodySyream = AlibabaCloud.DarabonbaStream.StreamUtil.ReadFromFilePath("<YOUR-FILE-PATH>");
                AlibabaCloud.SDK.Docmind_api20220711.Models.SubmitTableUnderstandingJobAdvanceRequest request = new AlibabaCloud.SDK.Docmind_api20220711.Models.SubmitTableUnderstandingJobAdvanceRequest
                {
                    FileUrlObject = bodySyream,
                    FileNameExtension = "pdf"
                };
                AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
                try
                {
                    // 復制代碼運行請自行打印 API 的返回值
                    client.SubmitTableUnderstandingJobAdvance(request, runtime);
                }
                catch (TeaException error)
                {
                    // 如有需要,請打印 error
                    AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
                }
                catch (Exception _error)
                {
                    TeaException error = new TeaException(new Dictionary<string, object>
                    {
                        { "message", _error.Message }
                    });
                    // 如有需要,請打印 error
                    AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
                }
            }
  • url文件方式上傳:以Java SDK為例,傳入文檔url調用方式的請求示例代碼如下,調用SubmitTableUnderstandingJob接口,通過fileUrl參數實現傳入文檔url。請注意,您傳入的文檔url必須為公網可訪問下載的公網url地址,無跨域限制,url不帶特殊轉義字符。

    說明

    獲取并使用AccessKey信息的方式,可參考SDK概述中不同語言的SDK使用指南。

    import com.aliyun.docmind_api20220711.models.*;
    import com.aliyun.teaopenapi.models.Config;
    import com.aliyun.docmind_api20220711.Client;
    
    public static void main(String[] args) throws Exception {
            submit();
        }
    public static void submit() throws Exception {
        // 使用默認憑證初始化Credentials Client。
        com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
        Config config = new Config()
            // 通過credentials獲取配置中的AccessKey ID
            .setAccessKeyId(credentialClient.getAccessKeyId())
            // 通過credentials獲取配置中的AccessKey Secret
            .setAccessKeySecret(credentialClient.getAccessKeySecret());
        // 訪問的域名,支持ipv4和ipv6兩種方式,ipv6請使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
        config.endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
        Client client = new Client(config);
        SubmitTableUnderstandingJobRequest request = new SubmitTableUnderstandingJobRequest();
        request.fileName = "example.pdf";
        request.fileUrl = "https://example.com/example.pdf";
        SubmitTableUnderstandingJobResponse response = client.submitTableUnderstandingJob(request);
        System.out.println(JSON.toJSON(response.getBody()));
    }
    const Client = require('@alicloud/docmind-api20220711');
    const Credential = require('@alicloud/credentials');
    
    const getResult = async () => {
      // 使用默認憑證初始化Credentials Client
      const cred = new Credential.default();
      const client = new Client.default({
        // 訪問的域名,支持ipv4和ipv6兩種方式,ipv6請使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
        endpoint: 'docmind-api.cn-hangzhou.aliyuncs.com',
        // 通過credentials獲取配置中的AccessKey ID
        accessKeyId: cred.credential.accessKeyId,
        // 通過credentials獲取配置中的AccessKey Secret
        accessKeySecret: cred.credential.accessKeySecret,
        type: 'access_key',
        regionId: 'cn-hangzhou'
      });
      
      const advanceRequest = new Client.SubmitDocStructureJobAdvanceRequest();
      const file = fs.createReadStream('./example.pdf');
      advanceRequest.fileUrlObject = file;
      advanceRequest.fileName = 'example.pdf';
      const runtimeObject = new Util.RuntimeOptions({});
      const response = await client.submitDocStructureJobAdvance(advanceRequest, runtimeObject);
    	return response.body;
    }
    from alibabacloud_docmind_api20220711.client import Client as docmind_api20220711Client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_docmind_api20220711 import models as docmind_api20220711_models
    from alibabacloud_tea_util.client import Client as UtilClient
    from alibabacloud_credentials.client import Client as CredClient
    
    if __name__ == '__main__':
        cred=CredClient()
        config = open_api_models.Config(
            # 通過credentials獲取配置中的AccessKey ID
            access_key_id=cred.get_credential().get_access_key_id(),
            # 通過credentials獲取配置中的AccessKey Secret
            access_key_secret=cred.get_credential().get_access_key_secret()
        )
        # 訪問的域名
        config.endpoint = f'docmind-api.cn-hangzhou.aliyuncs.com'
        client = docmind_api20220711Client(config)
        request = docmind_api20220711_models.SubmitTableUnderstandingJobRequest(
            # file_url : 文件url地址
            file_url='https://example.com/example.pdf',
            # file_name :文件名稱。名稱必須包含文件類型
            file_name='123.pdf',
            # file_name_extension : 文件后綴格式。與文件名二選一
            # file_name_extension='pdf'
        )
        try:
            # 復制代碼運行請自行打印 API 的返回值
            response = client.submit_table_understanding_job(request)
            # API返回值格式層級為 body -> data -> 具體屬性。可根據業務需要打印相應的結果。如下示例為打印返回的業務id格式
            # 獲取屬性值均以小寫開頭,
            print(response.body)
        except Exception as error:
            # 如有需要,請打印 error
            UtilClient.assert_as_string(error.message)
    import (
    	"fmt"
    
    	openClient "github.com/alibabacloud-go/darabonba-openapi/v2/client"
      "github.com/alibabacloud-go/docmind-api-20220711/client"
      "github.com/aliyun/credentials-go/credentials"
    )
    
    func submit(){
      // 使用默認憑證初始化Credentials Client。
    	credential, err := credentials.NewCredential(nil)
    	// 通過credentials獲取配置中的AccessKey ID
    	accessKeyId, err := credential.GetAccessKeyId()
    	// 通過credentials獲取配置中的AccessKey Secret
    	accessKeySecret, err := credential.GetAccessKeySecret()
      // 訪問的域名,支持ipv4和ipv6兩種方式,ipv6請使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
      var endpoint string = "docmind-api.cn-hangzhou.aliyuncs.com"
    	config := openClient.Config{AccessKeyId: accessKeyId, AccessKeySecret: accessKeySecret, Endpoint: &endpoint}
      // 初始化client
      cli, err := client.NewClient(&config)
    	if err != nil {
    		panic(err)
    	}
      // 文件URL
      fileURL := "https://example.com/example.pdf"
      // 文件名
      fileName := "example.pdf"
      // 初始化接口request
      request := client.SubmitTableUnderstandingJobRequest{
    		FileUrl:  &fileURL,
    		FileName: &fileName,
    	}
      response, err := cli.SubmitTableUnderstandingJob(&request)
      if err != nil {
    		panic(err)
    	}
      // 打印結果
    	fmt.Println(response.Body.String())
    }
    using Newtonsoft.Json;
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.IO;
    using System.Threading.Tasks;
    
    using Tea;
    using Tea.Utils;
    
    public static void SubmitUrl()
            {
                // 使用默認憑證初始化Credentials Client。
              	var akCredential = new Aliyun.Credentials.Client(null);
                AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
                {
                    // 通過credentials獲取配置中的AccessKey Secret
                    AccessKeyId = akCredential.GetAccessKeyId(),
                    // 通過credentials獲取配置中的AccessKey Secret
                    AccessKeySecret = akCredential.GetAccessKeySecret(),
                };
                // 訪問的域名
                config.Endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
                AlibabaCloud.SDK.Docmind_api20220711.Client client = new AlibabaCloud.SDK.Docmind_api20220711.Client(config);
                AlibabaCloud.SDK.Docmind_api20220711.Models.SubmitTableUnderstandingJobRequest request = new AlibabaCloud.SDK.Docmind_api20220711.Models.SubmitTableUnderstandingJobRequest
                {
                    FileUrl = "https://example.pdf",
                    FileNameExtension = "pdf"
                };
                try
                {
                    // 復制代碼運行請自行打印 API 的返回值
                    client.SubmitTableUnderstandingJob(request);
                }
                catch (TeaException error)
                {
                    // 如有需要,請打印 error
                    AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
                }
                catch (Exception _error)
                {
                    TeaException error = new TeaException(new Dictionary<string, object>
                    {
                        { "message", _error.Message }
                    });
                    // 如有需要,請打印 error
                    AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
                }
            }
    use AlibabaCloud\SDK\Docmindapi\V20220711\Docmindapi;
    use AlibabaCloud\SDK\Docmindapi\V20220711\Models\SubmitTableUnderstandingJobRequest;
    use Darabonba\OpenApi\Models\Config;
    use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
    use AlibabaCloud\Tea\Exception\TeaUnableRetryError;
    use AlibabaCloud\Credentials\Credential;
    
    // 使用默認憑證初始化Credentials Client。
    $bearerToken = new Credential();    
    $config = new Config();
    // 訪問的域名,支持ipv4和ipv6兩種方式,ipv6請使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
    $config->endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
    // 通過credentials獲取配置中的AccessKey ID
    $config->accessKeyId = $bearerToken->getCredential()->getAccessKeyId();
    // 通過credentials獲取配置中的AccessKey Secret
    $config->accessKeySecret = $bearerToken->getCredential()->getAccessKeySecret();
    $config->type = "access_key";
    $config->regionId = "cn-hangzhou";
    $client = new Docmindapi($config);
    $request = new SubmitTableUnderstandingJobRequest();
    
    $runtime = new RuntimeOptions();
    $runtime->maxIdleConns = 3;
    $runtime->connectTimeout = 10000;
    $runtime->readTimeout = 10000;
    
    $request->fileName = "example.pdf";
    $request->fileUrl = "https://example.com/example.pdf";
    
    try {
      $response = $client->submitTableUnderstandingJob($request, $runtime);
      var_dump($response->toMap());
    } catch (TeaUnableRetryError $e) {
      var_dump($e->getMessage());
      var_dump($e->getErrorInfo());
      var_dump($e->getLastException());
      var_dump($e->getLastRequest());
    }

處理成功返回示例:

{
  "RequestId": "43A29C77-405E-4CC0-BC55-EE694AD0****",
  "Data": {
    "Id": "docmind-20220712-b15f****"
  }  
}

步驟二:輪詢表格智能解析結果查詢服務GetTableUnderstandingResult接口

調用查詢接口的入參ID就是前面異步任務提交接口返回的出參ID,查詢結果有處理中、處理成功、處理失敗三種情況。建議每10秒輪詢一次,最多輪詢120分鐘。若明確返回Completed為true或者超過輪詢最大時間,則終止輪詢。

請求參數

名稱

類型

必填

描述

示例值

Id

string

需要查詢的業務訂單號,訂單號從提交接口的返回結果中獲取。

docmind-20220712-b15f****

返回參數

名稱

類型

描述

示例值

RequestId

string

請求唯一ID。

43A29C77-405E-4CC0-BC55-EE694AD0****

Completed

boolean

異步任務是否處理完成,false表示任務仍在處理中,true代表任務處理完成,有處理成功或處理失敗的明確結果。

true

Status

String

異步任務處理完成的狀態,最終處理結束后的狀態。Success為處理成功,Fail為處理失敗。

Success

Data

string

返回數據,表格智能解析的解析結果,輸出從表格中解析出表格樣式、表格內容、表格KV等內容的JSON數據結構返回。

-

Code

string

狀態碼。

200

Message

string

詳細信息。

Message

使用示例

以Java SDK為例,調用文檔智能解析接口的結果查詢類API示例代碼如下,調用getTableUnderstandingResult接口,通過ID參數傳入查詢流水號。

說明

獲取并使用AccessKey信息的方式,可參考SDK概述中不同語言的SDK使用指南。

import com.aliyun.docmind_api20220711.models.*;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.docmind_api20220711.Client;

public static void main(String[] args) throws Exception {
        submit();
    }
public static void submit() throws Exception {
    // 使用默認憑證初始化Credentials Client。
    com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
    Config config = new Config()
        // 通過credentials獲取配置中的AccessKey ID
        .setAccessKeyId(credentialClient.getAccessKeyId())
        // 通過credentials獲取配置中的AccessKey Secret
        .setAccessKeySecret(credentialClient.getAccessKeySecret());
    // 訪問的域名,支持ipv4和ipv6兩種方式,ipv6請使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
    config.endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
    Client client = new Client(config);
    GetTableUnderstandingResultRequest resultRequest = new GetTableUnderstandingResultRequest();
    resultRequest.id = "docmind-20220902-824b****";
    GetTableUnderstandingResultResponse response = client.getTableUnderstandingResult(resultRequest);
    System.out.println(JSON.toJSON(response.getBody()));
}
const Client = require('@alicloud/docmind-api20220711');
const Credential = require('@alicloud/credentials');

const getResult = async () => {
  // 使用默認憑證初始化Credentials Client
  const cred = new Credential.default();
  const client = new Client.default({
    // 訪問的域名,支持ipv4和ipv6兩種方式,ipv6請使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
    endpoint: 'docmind-api.cn-hangzhou.aliyuncs.com',
    // 通過credentials獲取配置中的AccessKey ID
    accessKeyId: cred.credential.accessKeyId,
    // 通過credentials獲取配置中的AccessKey Secret
    accessKeySecret: cred.credential.accessKeySecret,
    type: 'access_key',
    regionId: 'cn-hangzhou'
  });
  
  const resultRequest = new Client.GetTableUnderstandingResultRequest();
  resultRequest.id = "docmind-20220902-824b****";
  const response = await client.getTableUnderstandingResult(resultRequest);
  
  return response.body;
}
from alibabacloud_docmind_api20220711.client import Client as docmind_api20220711Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_docmind_api20220711 import models as docmind_api20220711_models
from alibabacloud_tea_util.client import Client as UtilClient
from alibabacloud_credentials.client import Client as CredClient

if __name__ == '__main__':
    cred=CredClient()
    config = open_api_models.Config(
        # 通過credentials獲取配置中的AccessKey ID
        access_key_id=cred.get_credential().get_access_key_id(),
        # 通過credentials獲取配置中的AccessKey Secret
        access_key_secret=cred.get_credential().get_access_key_secret()
    )
    # 訪問的域名
    config.endpoint = f'docmind-api.cn-hangzhou.aliyuncs.com'
    client = docmind_api20220711Client(config)
    request = docmind_api20220711_models.GetTableUnderstandingResultRequest(
        # id :  任務提交接口返回的id
        id='docmind-20220902-824b****'
    )
    try:
        # 復制代碼運行請自行打印 API 的返回值
        response = client.get_table_understanding_result(request)
        # API返回值格式層級為 body -> data -> 具體屬性。可根據業務需要打印相應的結果。獲取屬性值均以小寫開頭
        # 獲取異步任務處理情況,可根據response.body.completed判斷是否需要繼續輪詢結果
        print(response.body.completed)
        # 獲取返回結果。建議先把response.body.data轉成json,然后再從json里面取具體需要的值。
        print(response.body)	        
    except Exception as error:
        # 如有需要,請打印 error
        UtilClient.assert_as_string(error.message)
import (
	"fmt"

	openClient "github.com/alibabacloud-go/darabonba-openapi/v2/client"
  "github.com/alibabacloud-go/docmind-api-20220711/client"
  "github.com/aliyun/credentials-go/credentials"
)

func submit(){
    // 使用默認憑證初始化Credentials Client。
		credential, err := credentials.NewCredential(nil)
		// 通過credentials獲取配置中的AccessKey ID
		accessKeyId, err := credential.GetAccessKeyId()
		// 通過credentials獲取配置中的AccessKey Secret
		accessKeySecret, err := credential.GetAccessKeySecret()
  	// 訪問的域名,支持ipv4和ipv6兩種方式,ipv6請使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
  	var endpoint string = "docmind-api.cn-hangzhou.aliyuncs.com"
		config := openClient.Config{AccessKeyId: accessKeyId, AccessKeySecret: accessKeySecret, Endpoint: &endpoint}
    // 初始化client
    cli, err := client.NewClient(&config)
    if err != nil {
      panic(err)
    }
    id := "docmind-20220925-76b1****"
    // 調用查詢接口
    request := client.GetTableUnderstandingResultRequest{Id: &id}
    response, err := cli.GetTableUnderstandingResult(&request)
    if err != nil {
      panic(err)
    }
    // 打印查詢結果
    fmt.Println(response.Body.String())
}
using Newtonsoft.Json;
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;

using Tea;
using Tea.Utils;

public static void GetResult() 
        {
            // 使用默認憑證初始化Credentials Client。
          	var akCredential = new Aliyun.Credentials.Client(null);
            AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
            {
                // 通過credentials獲取配置中的AccessKey Secret
                AccessKeyId = akCredential.GetAccessKeyId(),
                // 通過credentials獲取配置中的AccessKey Secret
                AccessKeySecret = akCredential.GetAccessKeySecret(),
            };
            // 訪問的域名
            config.Endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
            AlibabaCloud.SDK.Docmind_api20220711.Client client = new AlibabaCloud.SDK.Docmind_api20220711.Client(config);
            AlibabaCloud.SDK.Docmind_api20220711.Models.GetTableUnderstandingResultRequest request = new AlibabaCloud.SDK.Docmind_api20220711.Models.GetTableUnderstandingResultRequest
            {
                Id = "docmind-20220902-824b****"
            };
            AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
            try
            {
                // 復制代碼運行請自行打印 API 的返回值
                client.GetTableUnderstandingResult(request);
            }
            catch (TeaException error)
            {
                // 如有需要,請打印 error
                AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
            }
            catch (Exception _error)
            {
                TeaException error = new TeaException(new Dictionary<string, object>
                {
                    { "message", _error.Message }
                });
                // 如有需要,請打印 error
                AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
            }
        }
use AlibabaCloud\SDK\Docmindapi\V20220711\Docmindapi;
use AlibabaCloud\SDK\Docmindapi\V20220711\Models\GetTableUnderstandingResultRequest;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
use AlibabaCloud\Tea\Exception\TeaUnableRetryError;
use AlibabaCloud\Credentials\Credential;

// 使用默認憑證初始化Credentials Client。
$bearerToken = new Credential();    
$config = new Config();
// 訪問的域名,支持ipv4和ipv6兩種方式,ipv6請使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
$config->endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
// 通過credentials獲取配置中的AccessKey ID
$config->accessKeyId = $bearerToken->getCredential()->getAccessKeyId();
// 通過credentials獲取配置中的AccessKey Secret
$config->accessKeySecret = $bearerToken->getCredential()->getAccessKeySecret();
$config->type = "access_key";
$config->regionId = "cn-hangzhou";
$client = new Docmindapi($config);
$request = new GetTableUnderstandingResultRequest();   
$request->id = "docmind-20220902-824b****";

$runtime = new RuntimeOptions();
$runtime->maxIdleConns = 3;
$runtime->connectTimeout = 10000;
$runtime->readTimeout = 10000;

try {
  $response = $client->getTableUnderstandingResult($request, $runtime);
  var_dump($response->toMap());
} catch (TeaUnableRetryError $e) {
  var_dump($e->getMessage());
  var_dump($e->getErrorInfo());
  var_dump($e->getLastException());
  var_dump($e->getLastRequest());
}

查詢結果

查詢結果有處理中、處理成功、處理失敗三種情況,分別說明每種情況的返回結果示例。

  • 處理中的返回結果如下所示:

    {
      "RequestId": "2AABD2C2-D24F-12F7-875D-683A27C3****",
      "Completed": false,
      "Code": "DocProcessing",
      "Message": "Document processing",
      "HostId": "ocr-api.cn-hangzhou.aliyuncs.com",
      "Recommend": "https://next.api.aliyun.com/troubleshoot?q=DocProcessing&product=docmind-api"
    }

    處理中Completed返回值為false,表示任務沒有處理結束,仍在處理中。這種情況需要繼續輪詢,直到明確返回Completed返回值為true或者超過輪詢最大時間。

  • 處理失敗的返回結果如下所示:

    {
      "RequestId": "A8EF3A36-1380-1116-A39E-B377BE27****",
      "Completed": true,
      "Status": "Fail",
      "Code": "UrlNotLegal",
      "Message": "Failed to process the document.  The document url you provided is not legal.",
      "HostId": "docmind-api.cn-hangzhou.aliyuncs.com",
      "Recommend": "https://next.api.aliyun.com/troubleshoot?q=IDP.UrlNotLegal&product=docmind-api"
    }

    處理失敗Completed返回值為true,表示任務處理結束,同時Status返回值為Fail,表示處理失敗,同時會返回失敗Code和詳細原因Message。訪問錯誤碼可以查看錯誤碼詳細介紹。

  • 處理成功的返回結果如下所示:

    {
      "Status": "Success",
      "RequestId": "73134E1A-E281-1B2C-A105-D0ECFE2D****",
      "Completed": true,
    	"Data": {
    		"tables": [{
    			"tableName": "表格1",
    			"tableNote": null,
    			"sheetName": "表格1",
    			"sheetNumber": 1,
    			"cells": [{
    				"content": "序號",
    				"autoWrap": false,
    				"colNumber": 0,
    				"rowNumber": 0,
    				"pos": [{
    						"x": 178,
    						"y": 1517
    					},
    					{
    						"x": 704,
    						"y": 1515
    					},
    					{
    						"x": 706,
    						"y": 1630
    					},
    					{
    						"x": 180,
    						"y": 1631
    					}
    				],
    				"filledColor": null,
    				"borderLine": null,
    				"borderStyle": null,
    				"borderColor": null,
    				"blocks": [{
      					"font": "Times_New_Roman",
    					"fontColor": "000000",
    					"fontSize": 10,
    					"bold": false,
    					"underline": false,
    					"deleteline": false,
    					"italic": false,
    					"alignment": null
    				}],
    				"mergedCell": false,
    				"firstMergedCell": false
    			}],
    			"tableKVs": [{
    				"type": "kv",
    				"relations": [{
    					"key": [
    						"序號"
    					],
    					"value": [
    						"測試1",
    						"測試2"
    					],
    					"keyConfidence": null,
    					"valueConfidence": null
    				}],
    				"cellIdRelations": [{
    					"key": [
    						"0"
    					],
    					"value": [
    						"4",
    						"7"
    					],
    					"keyConfidence": null,
    					"valueConfidence": null
    				}]
    			}]
    		}]
    	}
    }

    處理成功Completed返回值為true,表示任務處理結束,同時會返回Status為字符串的Success,表示處理成功。具體的處理結果在Data節點中,Data節點是個列表,該節點只會有1個元素,如下所示為Data節點中每個元素的具體格式:

    名稱

    類型

    描述

    requestId

    string

    請求唯一ID。

    success

    bool

    是否成功。

    code

    string

    錯誤碼。

    msg

    string

    總錯誤消息。

    data

    object

    解析結果。

    tables

    array

    表格信息。

    tableName

    string

    表格名稱。

    tableNote

    string

    表注。

    sheetName

    string

    sheet名稱。

    sheetNumber

    int

    sheet頁碼。

    cells

    array

    單元格信息。

    content

    string

    單元格文本內容。

    autoWrap

    bool

    文本是否換行。

    isMergedCell

    bool

    是否合并單元格。

    isFirstMergedCell

    bool

    是否合并起始單元格。

    colNumber

    int

    列號。

    rowNumber

    int

    行號。

    filledColor

    string

    單元格填充色。

    borderLine

    string

    單元格邊框線。

    borderStyle

    string

    邊框樣式。

    borderColor

    string

    邊框顏色。

    pos

    array

    坐標。

    blocks

    array

    字塊信息列表。

    font

    int

    字體。

    fontColor

    string

    字體顏色。

    fontSize

    int

    字體大小。

    bold

    bool

    是否粗體。

    underline

    bool

    是否下劃線。

    deleteline

    bool

    是否刪除線。

    italic

    bool

    是否斜體。

    alignment

    string

    對齊方式。

    tableKVs

    array

    表格抽取內容。

    type

    string

    表格抽取內容類型。

    relations

    array

    表格抽取內容列表。

    key

    array

    key列表。

    keyConfidence

    array

    key的置信度列表。

    value

    array

    value列表。

    valueConfidence

    array

    value的置信度列表。

    cellIdRelations

    array

    單元格對應關系列表。

    key

    array

    key所在單元格ID列表。

    value

    array

    value所在單元格ID列表。