The image-to-Word API converts images into editable Word documents. This API supports the conversion of up to 30 images at a time, accurately recognizes text, and preserves the original layout and style. This topic describes how to call the image-to-Word API. Before you call the OpenAPI, read the API usage guide.
Calling method
The image-to-Word API is asynchronous. First, you can call the SubmitConvertImageToWordJob service to submit an asynchronous task. Then, you can call the GetDocumentConvertResult service to poll for the conversion result.
You can poll for the result every 10 seconds for up to 120 minutes. If the task is not complete after 120 minutes, it is considered a timeout.
After an asynchronous task is submitted, you can query the result within 24 hours of its completion. After 24 hours, the result is no longer available.
Supported formats: Up to 30 images in JPG, JPEG, PNG, BMP, or GIF format. For GIF files, only the first frame is processed. Images with a longest side greater than 8192 px or a size larger than 20 MB are not supported.
Step 1: Call the SubmitConvertImageToWordJob API
This API supports calls that use document URLs. It does not support uploading local files.
Request parameters
Name | Type | Required | Description | Example |
ImageUrls | List<String> | Yes | A collection of image URLs. You can specify 1 to 30 URLs. Images with a longest side greater than 8192 px or a size larger than 20 MB are not supported. If the request fails because the request URL is too long, reduce the number of image URLs. | "https://example.com/example1.jpg","https://example.com/example2.jpg" |
ImageNames | List<String> | No | The file names. The file names must include file name extensions. You must specify either `ImageNames` or `ImageNameExtension`. | example1.jpg,example2.jpg |
ImageNameExtension | string | No | The file name extension. You must specify either `ImageNameExtension` or `ImageNames`. Supported types: jpg, jpeg, png, bmp, and gif. | jpg |
OssBucket | string | No | The name of your OSS bucket. For more information, see OSS hosting support. | docmind-trust |
OssEndpoint | string | No | The endpoint of your OSS bucket. For more information, see OSS hosting support. | oss-cn-hangzhou.aliyuncs.com |
EnableEventCallback | bool | No | Specifies whether to enable event callbacks. The default value is False. For more information, see EventBridge support. | false |
Response parameters
Name | Type | Description | Example |
RequestId | string | The unique ID of the request. | 43A29C77-405E-4CC0-BC55-EE694AD0**** |
Data | object | The returned data. | {"Id": "docmind-20220712-b15f****"} |
ID | string | The business order ID. This is the unique identifier used to query the task status with a subsequent API call. | docmind-20220712-b15f**** |
Code | string | The status code. | 200 |
Message | string | The detailed message. | Message |
Examples
The following Java SDK sample code calls the `SubmitConvertImageToPdfJob` API to submit an asynchronous image-to-PDF conversion job and passes multiple image URLs in the `imageUrls` parameter. The image URLs must be publicly accessible for download, be free of cross-domain restrictions, and contain no special escape characters.
For more information about how to obtain and use AccessKey pairs, see the SDK usage guides for different languages in SDK Overview.
import com.aliyun.docmind_api20220711.models.*;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.docmind_api20220711.Client;
import com.alibaba.fastjson.JSON;
public static void main(String[] args) throws Exception {
submit();
}
public static void submit() throws Exception {
// Initialize the Credentials client using the default credential provider.
com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
Config config = new Config()
// Obtain the AccessKey ID from the configuration using credentials.
.setAccessKeyId(credentialClient.getAccessKeyId())
// Obtain the AccessKey secret from the configuration using credentials.
.setAccessKeySecret(credentialClient.getAccessKeySecret());
// The endpoint of the service. Both IPv4 and IPv6 are supported. For IPv6, use docmind-api-dualstack.cn-hangzhou.aliyuncs.com.
config.endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
Client client = new Client(config);
SubmitConvertImageToWordJobRequest imageToWordJobRequest = new SubmitConvertImageToWordJobRequest();
String fileUrl1 = "https://example.com/example1.jpg";
String fileUrl2 = "https://example.com/example2.jpg";
imageToWordJobRequest.imageUrls = Arrays.asList(fileUrl1, fileUrl2);
// Specify the file name extension of the first image.
imageToWordJobRequest.imageNameExtension = "jpg";
SubmitConvertImageToWordJobResponse response = client.submitConvertImageToWordJob(imageToWordJobRequest);
System.out.println(JSON.toJSON(response.getBody()));
}}const Client = require('@alicloud/docmind-api20220711');
const Credential = require('@alicloud/credentials');
const getResult = async () => {
// Initialize the Credentials client using the default credential provider.
const cred = new Credential.default();
const client = new Client.default({
// The endpoint of the service. Both IPv4 and IPv6 are supported. For IPv6, use docmind-api-dualstack.cn-hangzhou.aliyuncs.com.
endpoint: 'docmind-api.cn-hangzhou.aliyuncs.com',
// Obtain the AccessKey ID from the configuration using credentials.
accessKeyId: cred.credential.accessKeyId,
// Obtain the AccessKey secret from the configuration using credentials.
accessKeySecret: cred.credential.accessKeySecret,
type: 'access_key',
regionId: 'cn-hangzhou'
});
const request = new Client.SubmitConvertImageToWordJobRequest();
request.imageUrls = [
'https://example.com/example1.jpg',
'https://example.com/example2.jpg'
];
request.imageNameExtension = 'jpg';
const response = await client.submitConvertImageToWordJob(request);
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(
# Obtain the AccessKey ID from the configuration using credentials.
access_key_id=cred.get_credential().get_access_key_id(),
# Obtain the AccessKey secret from the configuration using credentials.
access_key_secret=cred.get_credential().get_access_key_secret()
)
# The endpoint of the service.
config.endpoint = f'docmind-api.cn-hangzhou.aliyuncs.com'
client = docmind_api20220711Client(config)
request = docmind_api20220711_models.SubmitConvertImageToWordJobRequest(
# image_urls: The URLs of the images.
image_urls=['https://example.com/example.jpg'],
# image_name_extension: The image format. You must specify either this parameter or image_names.
image_name_extension='jpg',
# image_names: The names of the images. The names must include the file name extensions.
image_names=['123.jpg'],
)
try:
# If you copy the code to run, print the API return value.
response = client.submit_convert_image_to_word_job(request)
# The API returns data in the format of body -> data -> specific properties. Print the results as needed. The following example shows how to print the returned business ID.
# Property values start with a lowercase letter.
print(response.body)
except Exception as error:
# If an error occurs, print the error message.
UtilClient.assert_as_string(error.message)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()
{
// Initialize the Credentials client using the default credential provider.
var akCredential = new Aliyun.Credentials.Client(null);
AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
{
// Obtain the AccessKey ID from the configuration using credentials.
AccessKeyId = akCredential.GetAccessKeyId(),
// Obtain the AccessKey secret from the configuration using credentials.
AccessKeySecret = akCredential.GetAccessKeySecret(),
};
// The endpoint of the service.
config.Endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
AlibabaCloud.SDK.Docmind_api20220711.Client client = new AlibabaCloud.SDK.Docmind_api20220711.Client(config);
List<string> list = new List<string>();
list.Add("https://example.com/example1.jpg");
list.Add("https://example.com/example2.jpg");
AlibabaCloud.SDK.Docmind_api20220711.Models.SubmitConvertImageToWordJobRequest request = new AlibabaCloud.SDK.Docmind_api20220711.Models.SubmitConvertImageToWordJobRequest
{
ImageUrls = list,
ImageNameExtension = "jpg"
};
try
{
// If you copy the code to run, print the API return value.
client.SubmitConvertImageToWordJob(request);
}
catch (TeaException error)
{
// If an error occurs, print the error message.
AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
}
catch (Exception _error)
{
TeaException error = new TeaException(new Dictionary<string, object>
{
{ "message", _error.Message }
});
// If an error occurs, print the error message.
AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
}
}import (
"fmt"
openClient "github.com/alibabacloud-go/darabonba-openapi/v2/client"
"github.com/aliyun/credentials-go/credentials"
)
func submit() {
// Initialize the Credentials client using the default credential provider.
credential, err := credentials.NewCredential(nil)
// Obtain the AccessKey ID from the configuration using credentials.
accessKeyId, err := credential.GetAccessKeyId()
// Obtain the AccessKey secret from the configuration using credentials.
accessKeySecret, err := credential.GetAccessKeySecret()
// The endpoint of the service. Both IPv4 and IPv6 are supported. For IPv6, use 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}
// Initialize the client.
cli, err := client.NewClient(&config)
if err != nil {
panic(err)
}
fileUrl1 := "https://example.com/example1.jpg"
fileUrl2 := "https://example.com/example2.jpg"
imageExtension := "jpg"
request := client.SubmitConvertImageToWordJobRequest{
ImageUrls: []*string{&fileUrl1, &fileUrl2},
ImageNameExtension: &imageExtension,
}
response, err := cli.SubmitConvertImageToWordJob(&request)
if err != nil {
panic(err)
}
fmt.Println(response.Body)
} use AlibabaCloud\SDK\Docmindapi\V20220711\Docmindapi;
use AlibabaCloud\SDK\Docmindapi\V20220711\Models\SubmitConvertImageToWordJobRequest;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
use AlibabaCloud\Tea\Exception\TeaUnableRetryError;
use AlibabaCloud\Credentials\Credential;
// Initialize the Credentials client using the default credential provider.
$bearerToken = new Credential();
$config = new Config();
// The endpoint of the service. Both IPv4 and IPv6 are supported. For IPv6, use docmind-api-dualstack.cn-hangzhou.aliyuncs.com.
$config->endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
// Obtain the AccessKey ID from the configuration using credentials.
$config->accessKeyId = $bearerToken->getCredential()->getAccessKeyId();
// Obtain the AccessKey secret from the configuration using credentials.
$config->accessKeySecret = $bearerToken->getCredential()->getAccessKeySecret();
$config->type = "access_key";
$config->regionId = "cn-hangzhou";
$client = new Docmindapi($config);
$request = new SubmitConvertImageToWordJobRequest();
$runtime = new RuntimeOptions();
$runtime->maxIdleConns = 3;
$runtime->connectTimeout = 10000;
$runtime->readTimeout = 10000;
$request->imageUrls = array(
"https://example.com/example1.jpg",
"https://example.com/example2.jpg"
);
$request->imageNameExtension = "jpg";
try {
$response = $client->submitConvertImageToWordJob($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());
}Response
{
"RequestId": "43A29C77-405E-4CC0-BC55-EE694AD0****",
"Data": {
"Id": "docmind-20220712-b15f****"
}
}Step 2: Poll the GetDocumentConvertResult service to query the result
The `Id` request parameter for this API is the `Id` response parameter that is returned by the asynchronous task submission API. The query can return one of three statuses: processing, successful, or failed.
Request parameters
Name | Type | Required | Description | Example |
Id | string | Yes | The business order ID to query. Obtain this ID from the response of the submission API call. | docmind-20220712-b15f**** |
Response parameters
Name | Type | Description | Example value |
RequestId | string | The unique ID of the request. | 43A29C77-405E-4CC0-BC55-EE694AD0**** |
Completed | boolean | Indicates whether the asynchronous task is complete. `false` indicates that the task is still processing. `true` indicates that the task is complete, with a result of either successful or failed. | true |
Status | string | The final status of the asynchronous task. `Success` indicates that the task was successful. `Fail` indicates that the task failed. | Success |
Data | object | The following table describes the parameters returned by the document transformation. | This is a list. |
Code | string | The status code. | 200 |
Message | string | The detailed message. | Message |
Url | String | The URL of the converted file. | https://example.com/example.docx |
Size | Integer | The size of the converted file in bytes. | 1345488 |
Type | String | The file name extension of the converted file. | docx |
Md5 | String | The MD5 hash of the converted file. The caller can use this for verification. | 2d49eb7705f9f93ed857874db247**** |
Examples
The following code provides an example of how to call the `getDocumentConvertResult` API using the Java SDK. The `Id` parameter is used to pass the query serial number.
For more information about how to obtain and use AccessKey pairs, see the SDK usage guides for different languages in SDK Overview.
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 {
// Initialize the Credentials client using the default credential provider.
com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
Config config = new Config()
// Obtain the AccessKey ID from the configuration using credentials.
.setAccessKeyId(credentialClient.getAccessKeyId())
// Obtain the AccessKey secret from the configuration using credentials.
.setAccessKeySecret(credentialClient.getAccessKeySecret());
// The endpoint of the service. Both IPv4 and IPv6 are supported. For IPv6, use docmind-api-dualstack.cn-hangzhou.aliyuncs.com.
config.endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
Client client = new Client(config);
GetDocumentConvertResultRequest resultRequest = new GetDocumentConvertResultRequest();
resultRequest.id = "docmind-20220902-824b****";
GetDocumentConvertResultResponse response = client.getDocumentConvertResult(resultRequest);
System.out.println(JSON.toJSON(response.getBody()));
}const Client = require('@alicloud/docmind-api20220711');
const Credential = require('@alicloud/credentials');
const getResult = async () => {
// Initialize the Credentials client using the default credential provider.
const cred = new Credential.default();
const client = new Client.default({
// The endpoint of the service. Both IPv4 and IPv6 are supported. For IPv6, use docmind-api-dualstack.cn-hangzhou.aliyuncs.com.
endpoint: 'docmind-api.cn-hangzhou.aliyuncs.com',
// Obtain the AccessKey ID from the configuration using credentials.
accessKeyId: cred.credential.accessKeyId,
// Obtain the AccessKey secret from the configuration using credentials.
accessKeySecret: cred.credential.accessKeySecret,
type: 'access_key',
regionId: 'cn-hangzhou'
});
const resultRequest = new Client.GetDocumentConvertResultRequest();
resultRequest.id = "docmind-20220902-824b****";
const response = await client.getDocumentConvertResult(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(
# Obtain the AccessKey ID from the configuration using credentials.
access_key_id=cred.get_credential().get_access_key_id(),
# Obtain the AccessKey secret from the configuration using credentials.
access_key_secret=cred.get_credential().get_access_key_secret()
)
# The endpoint of the service.
config.endpoint = f'docmind-api.cn-hangzhou.aliyuncs.com'
client = docmind_api20220711Client(config)
request = docmind_api20220711_models.GetDocumentConvertResultRequest(
# id: The ID returned by the task submission API.
id='docmind-20220902-824b****'
)
try:
# If you copy the code to run, print the API return value.
response = client.get_document_convert_result(request)
# The API returns data in the format of body -> data -> specific properties. Print the results as needed. Property values start with a lowercase letter.
# Get the status of the asynchronous task. You can check response.body.completed to determine whether to continue polling.
print(response.body.completed)
# Get the return result. We recommend that you first convert response.body.data to JSON and then extract the required values from the JSON object.
print(response.body)
except Exception as error:
# If an error occurs, print the error message.
UtilClient.assert_as_string(error.message)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()
{
// Initialize the Credentials client using the default credential provider.
var akCredential = new Aliyun.Credentials.Client(null);
AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
{
// Obtain the AccessKey ID from the configuration using credentials.
AccessKeyId = akCredential.GetAccessKeyId(),
// Obtain the AccessKey secret from the configuration using credentials.
AccessKeySecret = akCredential.GetAccessKeySecret(),
};
// The endpoint of the service.
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.GetDocumentConvertResultRequest request = new AlibabaCloud.SDK.Docmind_api20220711.Models.GetDocumentConvertResultRequest
{
Id = "docmind-20220902-824b****"
};
AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
try
{
// If you copy the code to run, print the API return value.
client.GetDocumentConvertResult(request);
}
catch (TeaException error)
{
// If an error occurs, print the error message.
AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
}
catch (Exception _error)
{
TeaException error = new TeaException(new Dictionary<string, object>
{
{ "message", _error.Message }
});
// If an error occurs, print the error message.
AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
}
}import (
"fmt"
"os"
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(){
// Initialize the Credentials client using the default credential provider.
credential, err := credentials.NewCredential(nil)
// Obtain the AccessKey ID from the configuration using credentials.
accessKeyId, err := credential.GetAccessKeyId()
// Obtain the AccessKey secret from the configuration using credentials.
accessKeySecret, err := credential.GetAccessKeySecret()
// The endpoint of the service. Both IPv4 and IPv6 are supported. For IPv6, use 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}
// Initialize the client.
cli, err := client.NewClient(&config)
if err != nil {
panic(err)
}
id := "docmind-20220925-76b1****"
// Call the query API.
request := client.GetDocumentConvertResultRequest{Id: &id}
response, err := cli.GetDocumentConvertResult(&request)
if err != nil {
panic(err)
}
// Print the query result.
fmt.Println(response.Body)
// Note: The Go SDK URL-encodes the ampersand (&) in the returned URL to \u0026. You must decode \u0026 back to & to download the file from the URL.
// The following is an example of a URL returned by the Go SDK: http://docmind-api-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/convert/docmind-20220927-87ad**/example.pdf?Expires=XX\u0026OSSAccessKeyId=YY\u0026Signature=ZZ
}
use AlibabaCloud\SDK\Docmindapi\V20220711\Docmindapi;
use AlibabaCloud\SDK\Docmindapi\V20220711\Models\GetDocumentConvertResultRequest;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
use AlibabaCloud\Tea\Exception\TeaUnableRetryError;
use AlibabaCloud\Credentials\Credential;
// Initialize the Credentials client using the default credential provider.
$bearerToken = new Credential();
$config = new Config();
// The endpoint of the service. Both IPv4 and IPv6 are supported. For IPv6, use docmind-api-dualstack.cn-hangzhou.aliyuncs.com.
$config->endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
// Obtain the AccessKey ID from the configuration using credentials.
$config->accessKeyId = $bearerToken->getCredential()->getAccessKeyId();
// Obtain the AccessKey secret from the configuration using credentials.
$config->accessKeySecret = $bearerToken->getCredential()->getAccessKeySecret();
$config->type = "access_key";
$config->regionId = "cn-hangzhou";
$client = new Docmindapi($config);
$request = new GetDocumentConvertResultRequest();
$request->id = "docmind-20220902-824b****";
$runtime = new RuntimeOptions();
$runtime->maxIdleConns = 3;
$runtime->connectTimeout = 10000;
$runtime->readTimeout = 10000;
try {
$response = $client->getDocumentConvertResult($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());
}Response: The response indicates one of three statuses: processing, successful, or failed. The following sections provide examples for each status.
The following is an example of a response for a task that is still processing:
{ "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" }If the task is still processing, the value of `Completed` is `false`. In this case, you can continue to poll for the result until `Completed` returns `true` or the polling duration exceeds the maximum timeout period.
The following is an example of a response for a failed task:
{ "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" }If the task failed, `Completed` is `true` and `Status` is `Fail`. The response also includes an error `Code` and a detailed `Message`. For more information about error codes, see Error codes.
The following is an example of a response for a successful task:
{ "Status": "Success", "RequestId": "73134E1A-E281-1B2C-A105-D0ECFE2D****", "Completed": true, "Data": [ { "Type": "docx", "Size": 7940, "Url": "http://docmind-api-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/convert/docmind-20220902-57de****/example.docx?Expires=1662190830&OSSAccessKeyId=XX&Signature=YY", "Md5": "36256a4c2db8e31e056aeeb8b871****" } ] }If the task is successful, `Completed` is `true` and `Status` is `Success`. The result is in the `Data` node. The `Data` node is a list that contains a single element with the following parameters:
`Type`: The type of the converted document. For example, this image-to-Word API returns a Word document in DOCX format.
`Url`: The download URL for the converted document. The URL returned by each query request is valid for 60 minutes. After it expires, you must call the query API again to obtain a new URL.
`Size`: The size of the converted document in bytes. You can use this value to verify the integrity of the downloaded document by comparing its file size with the `Size` value.
`Md5`: The MD5 hash of the converted document. You can use this value to verify the integrity of the downloaded document by comparing its MD5 hash with the `Md5` value.