有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

简介

本文档提供关于数据万象文档处理任务的相关 API 概览以及 SDK 示例代码,此处以动图任务举例。
API
操作名
操作描述
创建任务
创建一个文档预览任务
查询任务
查询一个文档预览任务
查询任务列表
查询队列中的文档预览任务列表

基本操作

创建任务

功能说明

创建一个文档预览任务。

方法原型

public DocJobResponse createDocProcessJobs(DocJobRequest request);

参数说明

Request 中的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
bucketName
Request
Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述
String
Tag
Request
文档预览固定传 DocProcess
String
Input
Request
待操作的文件路径信息
Container
Operation
Request
操作规则
Container
QueueId
Request
任务所在的队列 ID,开通预览服务后自动生成,请使用 查询队列 获取或前往 万象控制台 在存储桶中查询。
String
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);