简介
本文档提供关于数据万象文档处理任务的相关 API 概览以及 SDK 示例代码,此处以动图任务举例。
API | 操作名 | 操作描述 |
创建任务 | 创建一个文档预览任务 | |
查询任务 | 查询一个文档预览任务 | |
查询任务列表 | 查询队列中的文档预览任务列表 |
基本操作
创建任务
功能说明
创建一个文档预览任务。
方法原型
public DocJobResponse createDocProcessJobs(DocJobRequest request);
参数说明
Request 中的具体数据描述如下:
Container 类型 Input 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Object | Request.Input | 文件路径 | String | 是 |
Container 类型 Operation 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
DocProcess | Request.Operation | 当 Tag 为 DocProcess 时有效,指定该任务的参数 | Container | 是 |
Output | Request.Operation | 结果输出地址 | Container | 是 |
Container 类型 DocProcess 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
SrcType | Request.Operation.DocProcess | 源数据的后缀类型,当前文档转换根据 COS 对象的后缀名来确定源数据类型,当 COS 对象没有后缀名时,可以设置该值 | String | 否 |
TgtType | Request.Operation.DocProcess | 转换输出目标文件类型: jpg,转成 jpg 格式的图片文件;如果传入的格式未能识别,默认使用 jpg 格式 png,转成 png 格式的图片文件 df,转成 pdf 格式文件 | String | 否 |
SheetId | Request.Operation.DocProcess | 表格文件参数,转换第 X 个表,默认为1;设置 SheetId 为0,即转换文档中全部表 | Int | 否 |
StartPage | Request.Operation.DocProcess | 从第 X 页开始转换;在表格文件中,一张表可能分割为多页转换,生成多张图片。StartPage 表示从指定 SheetId 的第 X 页开始转换。默认为1 | Int | 否 |
EndPage | Request.Operation.DocProcess | 转换至第 X 页;在表格文件中,一张表可能分割为多页转换,生成多张图片。EndPage 表示转换至指定 SheetId 的第 X 页。默认为-1,即转换全部页 | Int | 否 |
ImageParams | Request.Operation.DocProcess | String | 否 | |
DocPassword | Request.Operation.DocProcess | Office 文档的打开密码,如果需要转换有密码的文档,请设置该字段 | String | 否 |
Comments | Request.Operation.DocProcess | 是否隐藏批注和应用修订,默认为 0。 0:隐藏批注,应用修订 1:显示批注和修订 | Int | 否 |
PaperDirection | Request.Operation.DocProcess | 表格文件转换纸张方向,0代表垂直方向,非0代表水平方向,默认为0 | Int | 否 |
Quality | Request.Operation.DocProces | 生成预览图的图片质量,取值范围 [1-100],默认值100。 例:值为100,代表生成图片质量为100% | Int | 否 |
Zoom | Request.Operation.DocProces | 预览图片的缩放参数,取值范围[10-200], 默认值100。 例:值为200,代表图片缩放比例为200% 即放大两倍 | Int | 否 |
Container 类型 Output 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Region | Request.Operation.Output | 存储桶的地域 | String | 是 |
Bucket | Request.Operation.Output | 存储结果的存储桶 | String | 是 |
Object | Request.Operation.Output | 输出文件路径。 非表格文件输出文件名需包含${Number}或${Page}参数。
多个输出文件,${Number}表示序号从1开始,${Page}表示序号与预览页码一致。 ${Number}表示多个输出文件,序号从1开始,例如输入abc_${Number}.jpg,预览某文件5-6页,则输出文件名为abc_1.jpg,abc_2.jpg ${Page}表示多个输出文件,序号与预览页码一致,例如输入abc_${Page}.jpg,预览某文件5-6页,则输出文件名为abc_5.jpg,abc_6.jpg 表格文件输出路径需包含${SheetID}占位符,输出文件名必须包含${Number}参数。 例如/${SheetID}/abc_${Number}.jpg,先根据 excel 转换的表格数,生成对应数量的文件夹,再在对应的文件夹下,生成对应数量的图片文件 | String | 是 |
返回结果说明
成功:返回 DocJobResponse 对象响应信息。
失败:发生错误(如 Bucket 不存在),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理。
请求示例
//1.创建任务请求对象DocJobRequest request = new DocJobRequest();//2.添加请求参数 参数详情请见 API 接口文档request.setBucketName("examplebucket-1250000000");DocJobObject docJobObject = request.getDocJobObject();docJobObject.setTag("DocProcess");docJobObject.getInput().setObject("demo.docx");DocProcessObject docProcessObject = docJobObject.getOperation().getDocProcessObject();docProcessObject.setQuality("100");docProcessObject.setZoom("100");docProcessObject.setStartPage("1");docProcessObject.setEndPage("3");docProcessObject.setTgtType("png");docProcessObject.setDocPassword("123");MediaOutputObject output = docJobObject.getOperation().getOutput();output.setRegion("ap-chongqing");output.setBucket("examplebucket-1250000000");output.setObject("mark/pic-${Page}.jpg");//3.调用接口,获取任务响应对象DocJobResponse docProcessJobs = client.createDocProcessJobs(request);
查询任务
功能说明
根据任务 ID 查询任务详情。
方法原型
public DocJobResponse describeDocProcessJob(DocJobRequest request);
参数说明
参数名称 | 描述 | 类型 | 是否必选 |
bucketName | Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述 | String | 是 |
jobId | 要取消的任务 ID | String | 是 |
返回结果说明
成功: 返回任务详情响应包装类,类中包含一个 DocJobResponse 任务详情对象。
失败: 发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理。
请求示例
//1.创建任务请求对象DocJobRequest request = new DocJobRequest();//2.添加请求参数 参数详情请见 API 接口文档request.setBucketName("examplebucket-1250000000");request.setJobId("d75b6ea083df711eb8d09476dfb8*****");//3.调用接口,获取任务响应对象DocJobResponse docJobResponse = client.describeDocProcessJob(request);
查询任务列表
功能说明
查询队列中的任务列表。
方法原型
public DocJobListResponse describeDocProcessJobs(DocJobListRequest request);;
参数说明
节点名称(关键字) | 描述 | 类型 | 是否必选 |
bucketName | Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述 | String | 是 |
queueId | 拉取该队列 ID 下的任务 | String | 否 |
tag | 任务的Tag:Animation | String | 是 |
orderByTime | Desc 或者 Asc。默认为 Desc | String | 否 |
nextToken | 请求的上下文,用于翻页。上次返回的值 | String | 否 |
size | 拉取的最大任务数。默认为10。最大为100 | Integer | 否 |
states | 拉取该状态的任务,以,分割支持多状态 All,Submitted,Running,Success, Failed,Pause,Cancel。默认为 All | String | 否 |
startCreationTime | 拉取创建时间大于该时间的任务。格式为: %Y-%m-%dT%H:%m:%S%z | String | 否 |
endCreationTime | 拉取创建时间小于该时间的任务。格式为: %Y-%m-%dT%H:%m:%S%z | String | 否 |
返回结果说明
成功: 返回 DocJobListResponse 响应实体。
失败: 发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理。
请求示例
//1.创建任务请求对象DocJobListRequest request = new DocJobListRequest();//2.添加请求参数 参数详情请见 API 接口文档request.setBucketName("examplebucket-1250000000");request.setTag("DocProcess");request.setStartCreationTime("2020-12-10T16:20:07+0800");//3.调用接口,获取任务响应对象DocJobListResponse docJobResponse = client.describeDocProcessJobs(request);