简介
本文档提供关于文档转码异步任务接口的 API 概览以及 SDK 示例代码。
API | 操作名 | 操作描述 |
提交文档转码任务 | 用于提交一个文档转码任务 | |
查询指定的文档转码任务 | 用于查询指定的文档转码任务 | |
拉取符合条件的文档转码任务 | 用于拉取符合条件的文档转码任务 |
提交文档转码任务
功能说明
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/capistring secretKey = Environment.GetEnvironmentVariable("SECRET_KEY"); // 云 API 密钥 SecretKey, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capilong 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();}}}
说明:
参数说明
初始化 COS 服务实例具体数据描述如下:
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/capistring secretKey = Environment.GetEnvironmentVariable("SECRET_KEY"); // 云 API 密钥 SecretKey, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capilong 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();}}}
说明:
参数说明
初始化 COS 服务实例具体数据描述如下:
DescribeDocProcessJobRequest 具体的数据描述如下:
参数名称 | 描述 | 类型 | 是否必选 |
jobId | 要查询的任务 ID,可通过提交文档预览任务的响应中获取 | String | 是 |
bucket | 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/capistring secretKey = Environment.GetEnvironmentVariable("SECRET_KEY"); // 云 API 密钥 SecretKey, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capilong 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();}}}
说明:
参数说明
初始化 COS 服务实例具体数据描述如下:
DescribeDocProcessJobsRequest 具体的数据描述如下:
节点名称(关键字) | 描述 | 类型 | 是否必选 |
tag | 任务的 Tag:DocProcess | String | 是 |
queueId | 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。详情请参见 异常处理。