文档转码

最近更新时间:2023-08-17 18:02:54

我的收藏

简介

本文档提供关于文档预览的相关的 API 概览以及 SDK 示例代码。
注意:
该功能需要 COS JAVA SDK v5.6.153 及以上版本。旧版本SDK该接口可能未覆盖或缺少更新参数,使用时建议升级到 最新版本。

API
操作名
操作描述
提交文档预览任务
用于提交一个文档预览任务
查询文档预览任务
查询指定的文档预览任务
拉取文档预览任务
拉取符合条件的文档预览任务

提交文档预览任务

CreateDocProcessJobs 接口用于提交一个文档预览任务。

示例代码

//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);
System.out.println(docProcessJobs);

参数说明

DocJobRequest 类用于记录文档预览任务信息,其主要成员说明如下:
成员名称
描述
类型
必选
bucketName
COS 存储桶名称
String
docJobObject
文档预览任务对象
DocJobObject
DocJobObject 类用于描述文档预览任务对象,其主要成员说明如下:
成员名称
描述
类型
必选
tag
创建任务的 Tag,目前仅支持:DocProcess
String
input
待操作的文件对象
MediaInputObject
operation
操作规则
DocOperationObject
queueId
任务所在的队列 ID 控制台获取队列ID
String
MediaInputObject 类用于待操作的文件对象 ,其主要成员说明如下:
成员名称
描述
类型
必选
object
待操作的文件对象在 COS 上的文件路径
String
DocOperationObject 类用于记录 操作规则 ,其主要成员说明如下:
成员名称
描述
类型
必选
docProcessObject
当 Tag 为 DocProcess 时有效,指定该任务的参数
DocProcessObject
output
结果输出地址
MediaOutputObject
DocProcessObject 类用于记录图片处理结果,其主要成员说明如下:
成员名称
描述
类型
必选
srcType
源数据的后缀类型,当前文档转换根据 cos 对象的后缀名来确定源数据类型,当 cos 对象没有后缀名时,可以设置该值
String
tgtType
转换输出目标文件类型; jpg,转成 jpg 格式的图片文件;如果传入的格式未能识别,默认使用 jpg 格式;png,转成 png 格式的图片文件; pdf,转成 pdf 格式文件(暂不支持指定页数)
String
sheetId
表格文件参数,转换第 X 个表,默认为1;设置 SheetId 为0,即转换文档中全部表
String
startPage
从第 X 页开始转换;在表格文件中,一张表可能分割为多页转换,生成多张图片。StartPage 表示从指定 SheetId 的第 X 页开始转换。默认为1
String
endPage
转换至第 X 页;在表格文件中,一张表可能分割为多页转换,生成多张图片。EndPage 表示转换至指定 SheetId 的第 X 页。默认为-1,即转换全部页
String
imageParams
转换后的图片处理参数,支持 基础图片处理 所有处理参数,多个处理参数可通过 管道操作符 分隔,从而实现在一次访问中按顺序对图片进行不同处理
String
docPassword
Office 文档的打开密码,如果需要转换有密码的文档,请设置该字段
String
comments
是否隐藏批注和应用修订,默认为 0;0:隐藏批注,应用修订;1:显示批注和修订
String
paperDirection
表格文件转换纸张方向,0代表垂直方向,非0代表水平方向,默认为0
String
quality
生成预览图的图片质量,取值范围 [1-100],默认值100。 例:值为100,代表生成图片质量为100%
String
zoom
预览图片的缩放参数,取值范围[10-200], 默认值100。 例:值为200,代表图片缩放比例为200% 即放大两倍
String
MediaOutputObject 类用于记录一个结果输出地址,其主要成员说明如下:
成员名称
描述
类型
必选
region
存储桶的地域
String
bucket
存储结果的存储桶
String
object
输出文件路径
String

返回参数说明

DocJobResponse 类用于记录响应信息,其主要成员如下:
成员名称
描述
类型
jobsDetail
任务的详细信息
DocJobDetail
DocJobDetail 类用于记录任务的详细信息 ,其主要成员如下:
成员名称
描述
类型
code
错误码,只有 State 为 Failed 时有意义
String
message
错误描述,只有 State 为 Failed 时有意义
String
jobId
新创建任务的 ID
String
tag
新创建任务的 Tag:DocProcess
String
state
任务的状态,为 Submitted、Running、Success、Failed、Pause、Cancel 其中一个
String
creationTime
任务的创建时间
String
queueId
任务所属的队列 ID
String
input
该任务的输入文件路径
MediaInputObject
operation
该任务的规则
DocOperationObject

查询文档预览任务

DescribeDocProcessJob 用于查询指定的文档预览任务。

示例文档

//1.创建任务请求对象
DocJobRequest request = new DocJobRequest();
//2.添加请求参数 参数详情请见api接口文档
request.setBucketName("examplebucket-1250000000");
request.setJobId("d75b6ea083df711eb8d09476dfb8*****");
//3.调用接口,获取任务响应对象
DocJobResponse docJobResponse = client.describeDocProcessJob(request);
System.out.println(docJobResponse);

参数说明

DocJobRequest 类用于记录文档预览任务信息,其主要成员说明如下:
成员名称
描述
类型
bucketName
COS 存储桶名称
String
jobId
创建任务的 ID
String

返回参数说明

DocJobResponse 类用于记录响应信息,其主要成员如下:
成员名称
描述
类型
jobsDetail
记录任务的详细信息
DocJobDetail

查询所有文档预览任务

DescribeDocProcessJobs 用于拉取符合条件的文档预览任务。
//1.创建任务请求对象
DocJobListRequest request = new DocJobListRequest();
//2.添加请求参数 参数详情请见api接口文档
request.setBucketName("examplebucket-1250000000");
request.setQueueId("pc02270c617ae4b6d9b0a52cb1c*****");
request.setTag("DocProcess");
request.setStartCreationTime("2020-12-10T16:20:07+0800");
//3.调用接口,获取任务响应对象
DocJobListResponse docJobResponse = client.describeDocProcessJobs(request);
for (DocJobDetail jobDetail : docJobResponse.getDocJobDetailList()) {
System.out.println(jobDetail);
}

参数说明

DocJobListRequest 类用于记录文档预览任务信息,其主要成员说明如下:
成员名称
描述
类型
bucketName
COS 存储桶名称
String
queueId
拉取该队列 ID 下的任务
String
tag
任务的 Tag:DocProcess
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 类用于记录响应信息,其主要成员如下:
成员名称
描述
类型
docJobDetailList
记录任务列表
List
nextToken
翻页的上下文 Token
String