文档转码异步任务接口

最近更新时间:2025-03-06 11:00:13

我的收藏

简介

本文档提供关于文档转码异步任务接口的 API 概览以及 SDK 示例代码。
API
操作名
操作描述
提交文档转码任务
用于提交一个文档转码任务
查询指定的文档转码任务
用于查询指定的文档转码任务
拉取符合条件的文档转码任务
用于拉取符合条件的文档转码任务
说明:
该功能接口从5.4.44版本开始支持,下载新版 SDK 前往 Releases 或参见 快速入门

提交文档转码任务

功能说明

CreateDocProcessJobs 接口用于提交一个文档转码任务。

请求示例

using COSXML;
using COSXML.Auth;
using COSXML.Model.CI;

namespace COSXMLDemo
{
public class CreateDocProcessJobsModel
{
public CosXml cosXml;
// 初始化 COS 服务实例
private void InitCosXml()
{
string region = Environment.GetEnvironmentVariable("COS_REGION");
CosXmlConfig config = new CosXmlConfig.Builder()
.SetRegion(region) // 设置默认的地域, COS 地域的简称请参照 https://cloud.tencent.com/document/product/436/6224
.Build();
string secretId = Environment.GetEnvironmentVariable("SECRET_ID"); // 云 API 密钥 SecretId, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capi
string secretKey = Environment.GetEnvironmentVariable("SECRET_KEY"); // 云 API 密钥 SecretKey, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capi
long durationSecond = 600; //每次请求签名有效时长,单位为秒
QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId, secretKey, durationSecond);
this.cosXml = new CosXmlServer(config, qCloudCredentialProvider);
}

CreateDocProcessJobsModel()
{
InitCosXml();
}
public void CreateDocProcessJobs()
{
try
{
string bucket = "bucketname-APPID";
string textKey = "";

CreateDocProcessJobsRequest request = new CreateDocProcessJobsRequest(bucket);
request.SetInputObject("demo.docx");
request.SetTag("DocProcess");
request.SetSrcType("docx");
request.SetTgtType("jpg");
request.SetStartPage("3");
request.SetEndPage("5");
request.SetImageParams("imageMogr2/cut/400x400");
request.SetQuality("90");
request.SetZoom("200");
request.SetImageDpi("100");
request.SetOutputBucket("");
request.SetOutputObject("");
request.SetOutputRegion("");
request.SetSheetId("1");
request.SetPaperDirection("1");
request.SetPaperSize("1");
CreateDocProcessJobsResult createDocProcessJobsResult = cosXml.CreateDocProcessJobs(request);
Console.WriteLine(createDocProcessJobsResult.docProcessResponse.JobsDetail.JobId);
}
catch (COSXML.CosException.CosClientException clientEx)
{
Console.WriteLine("CosClientException: " + clientEx);
}
catch (COSXML.CosException.CosServerException serverEx)
{
Console.WriteLine("CosServerException: " + serverEx.GetInfo());
}
}
public static void CreateDocProcessJobsModelMain()
{
CreateDocProcessJobsModel m = new CreateDocProcessJobsModel();
m.CreateDocProcessJobs();
}
}
}

说明:
更多完整示例,请前往 GitHub 查看。

参数说明

初始化 COS 服务实例具体数据描述如下:
节点名称(关键字)
描述
类型
是否必选
region
设置默认的地域,COS 地域的简称请参见 地域和访问域名
String
secretId
云 API 密钥 SecretId,获取 API 密钥
String
secretKey
云 API 密钥 SecretKey,获取 API 密钥
String
CreateDocProcessJobsRequest 具体的数据描述如下:
节点名称(关键字)
描述
类型
是否必选
Tag
创建任务的 Tag,目前仅支持:DocProcess
String
InputObject
待操作的文件对象
String
OutputRegion
存储桶的地域
String
OutputBucket
存储结果的存储桶
String
OutputObject
输出文件路径。
非表格文件输出文件名需包含 ${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
转换输出目标文件类型:
jpg,转成 jpg 格式的图片文件;如果传入的格式未能识别,默认使用 jpg 格式
png,转成 png 格式的图片文件
pdf,转成 pdf 格式文件(暂不支持指定页数)
String
StartPage
从第 X 页开始转换;在表格文件中,一张表可能分割为多页转换,生成多张图片,StartPage 表示从指定 SheetId 的第 X 页开始转换。默认为1
String
EndPage
转换至第 X 页;在表格文件中,一张表可能分割为多页转换,生成多张图片,EndPage 表示转换至指定 SheetId 的第 X 页。默认为-1,即转换全部页
String
SheetId
表格文件参数,转换第 X 个表,默认为0;设置 SheetId 为0,即转换文档中全部表
String
PaperDirection
表格文件转换纸张方向,0代表垂直方向,非0代表水平方向,默认为0
String
PaperSize
设置纸张(画布)大小,对应信息为: 0 → A4 、 1 → A2 、 2 → A0 ,默认 A4纸张
String
ImageParams
转换后的图片处理参数,支持 基础图片处理 所有处理参数,多个处理参数可通过 管道操作符 分隔,从而实现在一次访问中按顺序对图片进行不同处理
String
Quality
生成预览图的图片质量,取值范围[1-100],默认值100。 例:值为100,代表生成图片质量为100%
String
Zoom
预览图片的缩放参数,取值范围[10-200], 默认值100。 例:值为200,代表图片缩放比例为200% 即放大两倍
String
ImageDpi
按指定 dpi 渲染图片,该参数与 Zoom 共同作用,取值范围96-600 ,默认值为96,转码后的图片单边宽度需小于65500像素
String

返回结果说明

成功:返回 CreateDocProcessJobsResult 对象响应信息。具体响应参数请参见 提交多文件打包压缩任务的 Response
失败:发生错误(如 Bucket 不存在),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理

查询指定的文档转码任务

功能说明

DescribeDocProcessJob 用于查询指定的文档转码任务。

请求示例

using COSXML;
using COSXML.Auth;
using COSXML.Model.CI;
namespace COSXMLDemo
{
public class DescribeDocProcessJobModel
{
public CosXml cosXml;
// 初始化 COS 服务实例
private void InitCosXml()
{
string region = Environment.GetEnvironmentVariable("COS_REGION");
CosXmlConfig config = new CosXmlConfig.Builder()
.SetRegion(region) // 设置默认的地域, COS 地域的简称请参照 https://cloud.tencent.com/document/product/436/6224
.Build();
string secretId = Environment.GetEnvironmentVariable("SECRET_ID"); // 云 API 密钥 SecretId, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capi
string secretKey = Environment.GetEnvironmentVariable("SECRET_KEY"); // 云 API 密钥 SecretKey, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capi
long durationSecond = 600; //每次请求签名有效时长,单位为秒
QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId, secretKey, durationSecond);
this.cosXml = new CosXmlServer(config, qCloudCredentialProvider);
}

DescribeDocProcessJobModel()
{
InitCosXml();
}
public void DescribeDocProcessJob()
{
try
{
string bucket = "bucketname-APPID";
string jobId = "";
DescribeDocProcessJobRequest describeDocProcessJobRequest = new DescribeDocProcessJobRequest(bucket, jobId);
DescribeDocProcessJobResult describeDocProcessJobResult = cosXml.DescribeDocProcessJob(describeDocProcessJobRequest);

Console.WriteLine(describeDocProcessJobResult.taskDocProcessResult.JobsDetail.JobId);
}
catch (COSXML.CosException.CosClientException clientEx)
{
Console.WriteLine("CosClientException: " + clientEx);
}
catch (COSXML.CosException.CosServerException serverEx)
{
Console.WriteLine("CosServerException: " + serverEx.GetInfo());
}
}
public static void DescribeDocProcessJobModelMain()
{
DescribeDocProcessJobModel m = new DescribeDocProcessJobModel();
m.DescribeDocProcessJob();
}
}
}
说明:
更多完整示例,请前往 GitHub 查看。

参数说明

初始化 COS 服务实例具体数据描述如下:
节点名称(关键字)
描述
类型
是否必选
region
设置默认的地域,COS 地域的简称请参见 地域和访问域名
String
secretId
云 API 密钥 SecretId,获取 API 密钥
String
secretKey
云 API 密钥 SecretKey,获取 API 密钥
String
DescribeDocProcessJobRequest 具体的数据描述如下:
参数名称
描述
类型
是否必选
jobId
要查询的任务 ID,可通过提交文档预览任务的响应中获取
String
bucket
Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述
String

返回结果说明

成功:返回 DescribeDocProcessJobResult 对象响应信息。具体响应参数请参见 查询指定的文档转码任务的 Response
失败:发生错误(如 Bucket 不存在),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理

拉取符合条件的文档转码任务

功能说明

DescribeDocProcessJobs 用于拉取符合条件的文档转码任务。

请求示例

using COSXML;
using COSXML.Auth;
using COSXML.Model.CI;
namespace COSXMLDemo
{
public class DescribeDocProcessJobsModel
{

public CosXml cosXml;

// 初始化 COS 服务实例
private void InitCosXml()
{
string region = Environment.GetEnvironmentVariable("COS_REGION");
CosXmlConfig config = new CosXmlConfig.Builder()
.SetRegion(region) // 设置默认的地域, COS 地域的简称请参照 https://cloud.tencent.com/document/product/436/6224
.Build();
string secretId = Environment.GetEnvironmentVariable("SECRET_ID"); // 云 API 密钥 SecretId, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capi
string secretKey = Environment.GetEnvironmentVariable("SECRET_KEY"); // 云 API 密钥 SecretKey, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capi
long durationSecond = 600; //每次请求签名有效时长,单位为秒
QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId, secretKey, durationSecond);
this.cosXml = new CosXmlServer(config, qCloudCredentialProvider);
}

DescribeDocProcessJobsModel()
{
InitCosXml();
}

public void DescribeDocProcessJobs()
{
try
{
string bucket = "bucketname-APPID";
string jobId = "";
string queueId = "";
DescribeDocProcessJobsRequest describeDocProcessJobsRequest = new DescribeDocProcessJobsRequest(bucket);
describeDocProcessJobsRequest.SetTag("DocProcess");
describeDocProcessJobsRequest.SetQueueId(queueId);
describeDocProcessJobsRequest.SetOrderByTime("Asc");
describeDocProcessJobsRequest.SetNextToken("1");
describeDocProcessJobsRequest.SetStates("All");
describeDocProcessJobsRequest.SetSize("15");
describeDocProcessJobsRequest.SetStartCreationTime("2024-06-12T08:20:07+0800");
describeDocProcessJobsRequest.SetEndCreationTime("2024-06-12T20:00:00+0800");

DescribeDocProcessJobsResult describeDocProcessJobsResult = cosXml.DescribeDocProcessJobs(describeDocProcessJobsRequest);
Console.WriteLine(describeDocProcessJobsResult.listDocProcessResult.JobsDetail.Count);
}
catch (COSXML.CosException.CosClientException clientEx)
{
Console.WriteLine("CosClientException: " + clientEx);
}
catch (COSXML.CosException.CosServerException serverEx)
{
Console.WriteLine("CosServerException: " + serverEx.GetInfo());
}
}
public static void DescribeDocProcessJobsModelMain()
{
DescribeDocProcessJobsModel m = new DescribeDocProcessJobsModel();
m.DescribeDocProcessJobs();
}
}
}
说明:
更多完整示例,请前往 GitHub 查看。

参数说明

初始化 COS 服务实例具体数据描述如下:
节点名称(关键字)
描述
类型
是否必选
region
设置默认的地域,COS 地域的简称请参见 地域和访问域名
String
secretId
云 API 密钥 SecretId,获取 API 密钥
String
secretKey
云 API 密钥 SecretKey,获取 API 密钥
String
DescribeDocProcessJobsRequest 具体的数据描述如下:
节点名称(关键字)
描述
类型
是否必选
tag
任务的 Tag:DocProcess
String
queueId
拉取该队列 ID 下的任务,可在任务响应内容或 控制台 中获取
String
orderByTime
Desc 或者 Asc。默认为 Desc
String
nextToken
请求的上下文,用于翻页。上次返回的值
String
size
拉取的最大任务数。默认为10。最大为100
String
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

返回结果说明

成功:返回 DescribeDocProcessJobResult 对象响应信息。具体响应参数请参见 拉取符合条件的文档转码任务的 Response
失败:发生错误(如 Bucket 不存在),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理