简介
本文档提供关于文档预览任务接口的 API 概览以及 SDK 示例代码。
API | 操作名 | 操作描述 |
提交文档预览任务 | 用于提交一个文档预览任务 | |
查询指定的文档预览任务 | 用于查询指定的文档预览任务 | |
拉取符合条件的文档预览任务 | 用于拉取符合条件的文档预览任务 |
提交文档预览任务
功能说明
CreateDocProcessJobs 接口用于提交一个文档预览任务。
方法原型
func (s *CIService) CreateDocProcessJobs(ctx context.Context, opt *CreateDocProcessJobsOptions) (*CreateDocProcessJobsResult, *Response, error)
请求示例
createJobOpt := &cos.CreateDocProcessJobsOptions{Tag: "DocProcess",Input: &cos.DocProcessJobInput{Object: "form.pdf",},Operation: &cos.DocProcessJobOperation{Output: &cos.DocProcessJobOutput{Region: "ap-guangzhou",Object: "test-doc${Number}",Bucket: "examplebucket-1250000000",},DocProcess: &cos.DocProcessJobDocProcess{TgtType: "png",StartPage: 1,EndPage: -1,ImageParams: "watermark/1/image/aHR0cDovL3Rlc3QwMDUtMTI1MTcwNDcwOC5jb3MuYXAtY2hvbmdxaW5nLm15cWNsb3VkLmNvbS8xLmpwZw==/gravity/southeast",},},}res, _, err := c.CI.CreateDocProcessJobs(context.Background(), createJobOpt)
参数说明
type CreateDocProcessJobsOptions struct {XMLName xml.NameTag stringInput *DocProcessJobInputOperation *DocProcessJobOperationQueueId string}type DocProcessJobInput struct {Object string}type DocProcessJobOperation struct {Output *DocProcessJobOutputDocProcess *DocProcessJobDocProcessDocProcessResult *DocProcessJobDocProcessResult}type DocProcessJobOutput struct {Region stringBucket stringObject string}type DocProcessJobDocProcess struct {SrcType stringTgtType stringSheetId intStartPage intEndPage intImageParams stringDocPassword stringComments intPaperDirection intQuality intZoom int}
参数名称 | 描述 | 类型 | 是否必填 |
Tag | 创建任务的 Tag,目前仅支持:DocProcess | String | 是 |
Input | 待操作的文件对象 | Container | 是 |
Operation | 操作规则 | Container | 是 |
QueueId | String | 否 | |
Object | 文件在 COS 上的文件路径,Bucket 由 Host 指定 | String | 是 |
Output | 结果输出地址 | Container | 是 |
DocProcess | 当 Tag 为 DocProcess 时有效,指定该任务的参数 | Container | 是 |
DocProcessResult | 文档预览任务执行结果,提交任务时不需要设置该字段 | Container | 否 |
Region | 存储桶的地域 | String | 是 |
Bucket | 存储结果的存储桶 | String | 是 |
Object | 输出文件路径。 非表格文件输出文件名需包含${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 | 是 |
SrcType | 源数据的后缀类型。当前文档转换根据 COS 对象的后缀名来确定源数据类型,当 COS 对象没有后缀名时,可以设置该值 | String | 否 |
TgtType | 转换输出目标文件类型,png 表示转换成 png 格式的图片文件;jpg 表示转换成 jpg 格式的图片文件;pdf 表示转换成 pdf 格式的图片文件。如果传入的格式未能识别,默认使用 jpg 格式 | String | 否 |
SheetId | 表格文件参数,转换第 x 个表,默认为1;设置 SheetId 为0,即转换文档中全部表格 | Int | 否 |
StartPage | 从第 x 页开始转换;在表格文件中,一张表可能分割为多页转换,生成多张图片。StartPage 表示从指定 SheetId 的第 x 页开始转换。默认为1 | Int | 否 |
EndPage | 转换至第 x 页;在表格文件中,一张表可能分割为多页转换,生成多张图片。EndPage 表示转换至指定 SheetId 的第 x 页。默认为-1,即转换全部页 | Int | 否 |
ImageParams | String | 否 | |
DocPassword | Office 文档的打开密码,如果需要转换有密码的文档,请设置该字段 | String | 否 |
Comments | 是否隐藏批注和应用修订,默认为 0。 0:隐藏批注,应用修订;1:显示批注和修订 | Int | 否 |
PaperDirection | 表格文件转换纸张方向,0代表垂直方向,非0代表水平方向,默认为0 | Int | 否 |
Quality | 生成预览图的图片质量,取值范围:[1-100],默认值100。 例如:值为100,代表生成图片质量为100% | Int | 否 |
Zoom | 预览图片的缩放参数,取值范围:[10-200],默认值100。 例如:值为200,代表图片缩放比例为200% 即放大两倍 | Int | 否 |
返回结果说明
type CreateDocProcessJobsResult struct {JobsDetail DocProcessJobDetail}type DocProcessJobDetail struct {Code stringMessage stringJobId stringTag stringState stringCreationTime stringQueueId stringInput *DocProcessJobInputOperation *DocProcessJobOperation}
参数名称 | 描述 | 类型 |
JobsDetail | 任务的详细信息 | Container |
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 | 该任务的输入文件路径,详情请参见CreateDocProcessJobsOptions.Input | Container |
Operation | 该任务的规则,详情请参见CreateDocProcessJobsOptions.Operation | Container |
查询指定文档预览任务
功能说明
DescribeDocProcessJob 用于查询指定的文档预览任务。
方法原型
func (s *CIService) DescribeDocProcessJob(ctx context.Context, jobid string) (*DescribeDocProcessJobResult, *Response, error)
请求示例
jobid := "<jobid>"res, _, err := c.CI.DescribeDocProcessJob(context.Background(), jobid)
参数说明
参数名称 | 描述 | 类型 |
jobid | 文档预览任务 ID | String |
返回结果说明
type DescribeDocProcessJobResult struct {JobsDetail *DocProcessJobDetailNonExistJobIds string}
参数名称 | 描述 | 类型 |
JobsDetail | Container | |
NonExistJobIds | 查询的 ID 中不存在的任务,所有任务都存在时不返回 | String |
拉取符合条件的文档预览任务
功能说明
DescribeDocProcessJobs 用于拉取符合条件的文档预览任务。
方法原型
func (s *CIService) DescribeDocProcessJobs(ctx context.Context, opt *DescribeDocProcessJobsOptions) (*DescribeDocProcessJobsResult, *Response, error)
请求示例
DescribeJobsOpt := &cos.DescribeDocProcessJobsOptions{Tag: "DocProcess",}res, _, err := c.CI.DescribeDocProcessJobs(context.Background(), DescribeJobsOpt)
参数说明
type DescribeDocProcessJobsOptions struct {QueueId stringTag stringOrderByTime stringNextToken stringSize intStates stringStartCreationTime stringEndCreationTime string}
参数名称 | 描述 | 类型 | 是否必填 |
QueueId | 拉取该队列 ID 下的任务 | String | 否 |
Tag | 任务的 Tag:DocProcess | String | 是 |
OrderByTime | Desc 或者 Asc。默认为 Desc | String | 否 |
NextToken | 请求的上下文,用于翻页。上次返回的值 | String | 否 |
Size | 拉取的最大任务数。默认为10,最大值为100 | Int | 否 |
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 | 否 |
返回结果说明
type DescribeDocProcessJobsResult struct {JobsDetail []DocProcessJobDetailNextToken string}
参数名称 | 描述 | 类型 |
JobsDetail | Container | |
NextToken | 翻页的上下文 Token | String |