调用ConvertOfficeFormat接口采用同步请求方式进行文档(例如Office文档)格式的转换,执行完毕返回转换成功的页数。
注意事项
同步转换超时时间为5秒,如果转换时间大于5秒的文档转换需要使用异步接口CreateOfficeConversionTask。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
| 名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| RegionId | String | 否 | cn-hangzhou |
项目所在地域的ID。 地域Endpoint格式为 |
| Action | String | 是 | ConvertOfficeFormat |
操作接口名称,固定取值为ConvertOfficeFormat。 |
| Project | String | 是 | immdoctest |
项目名称。 说明 您可通过智能媒体管理的控制台或调用ListProjects接口查看项目名称。关于项目名称的更多信息,请参见创建项目。
|
| SrcUri | String | 是 | oss://bucket1/object |
源数据的存储位置。 OSS地址规则为 |
| TgtType | String | 否 | vector |
转换输出的目标文件类型。包括如下选项:
说明 只有当源数据类型为演示文档和文字文档时,才支持转换为text格式。
|
| TgtUri | String | 是 | oss://bucket1/converttasks/session123/ |
转换后输出内容的目标位置,建议将TgtUri和SrcUri设置在同一个OSS Bucket中,便于权限管理。 |
| SrcType | String | 否 | doc |
当OSS对象没有后缀名时,可以设置此参数。 源数据的后缀类型。默认根据OSS对象的后缀名确定源数据的类型。 |
| StartPage | Long | 否 | 1 |
文档转换的起始页,默认值为1。 |
| EndPage | Long | 否 | 10 |
文档转换的结束页,默认值为200。如果需要转换所有页,设置此参数为-1。 |
| MaxSheetRow | Long | 否 | 10 |
表格文档转换的最大行数,默认值为1000。如果需要转换所有行,设置此参数为-1。 |
| MaxSheetCol | Long | 否 | 10 |
表格文档转换的最大列数,默认值为100。如果需要转换所有列,设置此参数为-1。 |
| MaxSheetCount | Long | 否 | 3 |
表格文档转换的最大Sheet数。如果需要转换所有Sheet,设置此参数为-1。 |
| SheetOnePage | Boolean | 否 | false |
表格文档转换时,是否将所有Sheet的内容输出到一页。 |
| ModelId | String | 否 | 无 |
模型ID。此参数暂不可用。 |
| Password | String | 否 | ******** |
文档的打开密码。如果需要转换有密码的文档,请设置此参数。 |
| TgtFilePrefix | String | 否 | aa |
当TgtType设置为jpg、png或pdf时,此参数才生效。 转换后的文件名称前缀,可以是英文、数字、横划线和下划线,且长度不超过256个字符。 通过设置TgtFilePrefix和TgtFileSuffix,可以实现自定义转换后的文件名称。 如果TgtType设置为jpg,TgtFilePrefix和TgtFileSuffix设置不同时,目标文件的名称规则如下:
其中[x]表示多个目标文件,从1开始。如果TgtFilePrefix为aa,TgtFileSuffix为bb,且转换后的文件有3页,则所有的目标文件为aa[1]bb、aa[2]bb、aa[3]bb。 |
| TgtFileSuffix | String | 否 | bb |
当TgtType设置为jpg、png或pdf时,此参数才生效。 转换后的文件名称后缀,可以是英文、数字、横划线和下划线,且长度不超过256个字符。其中def为保留字,表示采用默认的后缀名。 通过设置TgtFilePrefix和TgtFileSuffix,可以实现自定义转换后的文件名称。 如果TgtType设置为jpg,TgtFilePrefix和TgtFileSuffix设置不同时,目标文件的名称规则如下:
其中[x]表示多个目标文件,从1开始。如果TgtFilePrefix为aa,TgtFileSuffix为bb,且转换后的文件有3页,则所有的目标文件为aa[1]bb、aa[2]bb、aa[3]bb。 |
| TgtFilePages | String | 否 | [1, 2, 100] |
当TgtType设置为jpg、png或pdf时,此参数才生效。 转换后输出指定文件页数,最多指定100个页数,如果超过100页,请分多次转换进行提交,默认输出所有页。例如当TgtFilePages设置为 |
| FitToPagesTall | Boolean | 否 | false |
当TgtType设置为pdf时,此参数才生效。 表格文档转换为pdf时,是否将行全部输出到一页。取值范围如下:
|
| FitToPagesWide | Boolean | 否 | false |
当TgtType设置为pdf时,此参数才生效。 表格文档转pdf时,是否将列全部输出在一页。取值范围如下:
|
| PdfVector | Boolean | 否 | false |
当PDF转换为VECTOR时,是否使用向量模式,取值范围如下:
|
| Hidecomments | Boolean | 否 | false |
当WORD、PPT转换为VECTOR、JPG、PNG时,是否隐藏批注和应用修订。取值范围如下:
|
返回数据
| 名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| PageCount | Integer | 10 |
转换成功的页数。 |
| RequestId | String | FF3B7D81-66AE-47E0-BF69-157DCF187514 |
当次请求的Request ID。 |
示例
请求示例
http(s)://[Endpoint]/?Action=ConvertOfficeFormat
&Project=immdoctest
&SrcUri=oss://bucket1/object
&TgtUri=oss://bucket1/converttasks/session123/
&<公共请求参数>
正常返回示例
XML格式
HTTP/1.1 200 OK
Content-Type:application/xml
<PageCount>10</PageCount>
<RequestId>FF3B7D81-66AE-47E0-BF69-157DCF187514</RequestId>
JSON格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"PageCount" : 10,
"RequestId" : "FF3B7D81-66AE-47E0-BF69-157DCF187514"
}
错误码
如果转换出错,返回的JSON示例如下:
{
"RequestId": "7DA1FCD1-004C-4EB4-B039-C6BBDCEB0701",
"HostId": "imm.cn-hangzhou.aliyuncs.com",
"Code": "DocumentConvertFailed.NeedPassword",
"Message": "The conversion has been failed, need password to open file."
}
|
错误码 |
说明 |
|---|---|
|
OSSAccessError |
OSS访问失败,请检查SrcUri或TgtUri对应OSS Bucket的路径是否存在,所在Region是否和智能媒体管理的Region一致。 |
|
InvalidParameter.SrcType.NotSupported |
不支持的文件类型,文档转换根据文件后缀名来判断文件类型,请检查文件后缀名和SrcType参数。 |
|
DocumentConvertFailed.ExceedFileSizeLimit |
文档转换默认支持的文件大小为200 MB,超过该大小的文件转换时会出现该错误。 |
|
DocumentConvertFailed.OpenFileError |
文档转换时,打开文件失败,请检查源文档后缀和内容是否匹配。 |
|
DocumentConvertFailed.ExportFileError |
文档转换时,处理文件内容失败,请检查源文档是否能够正常打开。 |
|
DocumentConvertFailed.NeedPassword |
该文档需要密码才能打开,请设置Password参数。 |
|
ExecutionTimeout |
执行超时,请检查文档大小和页数,如果确实需要转换,请使用异步接口CreateOfficeConversionTask。 |
|
InternalError |
内部错误,请提交工单并提供RequestId。 |