Skip to content

格式转换(文件另存为)

适用版本>=v7.0.2405b.20240523

接口说明:文件格式进行转换,支持转换格式见《格式转换(文件另存为)支持格式

文档转换传入密码功能说明:
文档转换接口不区分原文件是否支持加密,只要传入密码,密码都会传入内核。
文档转换密码功能,只应在目标文件为PDF时生效,现象如下(以下的输入密码都是用AES+Base64正确加密后传入)

1.原文件不加密,存在以下情况

①word转PDF,输入密码123,转换失败
②excel转PDF,输入密码123,XLS/CSV/UOS转换成功(打开密码123),其他失败
③wpp转PDF,输入密码123,转换成功(打开密码123)
④所有文件转为非PDF格式文件,输入密码123,转换成功,转换后文件不需要密码(符合预期)

2.原文档DOCX,打开密码123(加密后为q0rxZGJ************),编辑密码123456(加密后为q0rxZGJ************),存在以下情况

①转PDF,不输入密码,转换失败,无目标文件生成(符合预期)
②转PDF,输入打开密码123,转换成功,转换后PDF文件需要密码(打开密码123,编辑密码无)
③转PDF,输入编辑密码123456,转换失败,无目标文件生成(符合预期)
④转DOTM,输入密码123,转换失败,无目标文件生成(符合预期)

3.原文档markdown(非Office格式)不加密,转PDF,输入密码123,转换成功,转换后的PDF文件不需要密码

请求说明

请求地址配置域名+/graph+/v7/drives/{drive_id}/files/{file_id}/convert
请求方法POST
签名方式WPS-4签名/WPS-4-GM签名(配置域名+/graph不参与签名)
权限要求应用文档(appfile)格式处理能力(应用授权) kso.appfile.cps.readwrite

请求头(Header)

名称是否必填说明
Content-Type固定为: application/json
Wps-Docs-Date取当前时间,示例: Wed, 23 Jan 2013 06:43:08 GMT
Wps-Docs-Authorization计算方法参考签名说明
Authorization授权凭证,格式为: Bearer {access_token}
x-user-token用户鉴权token,设置后会通过回调接口中的X-Wps-Weboffice-Token字段进行透传
此参数仅针对ap转pdf/docx时生效

查询参数(Query)

名称类型是否必填说明
_w_third_user_idstring用户id,长度范围[1,64]

请求体(Body)

| 名称 | 类型 | 是否必填 | 说明 | | ------------------------------------------ | :-----: | :-----------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | | file_name | string | 否 | 另存后新文件的名称,不填则使用源文件名称,包含文件后缀,长度范围[1,240],不支持"/:*?"<>|"特殊符号 | | password | string | 否 | 文档密码。不为空时,会参与转换PDF的过程加密方式:先进行AES/ECB/PKCS5Padding加密,再进行base64加密。示例:123加密后为q0rxZGJ************ | | format | string | 是 | 转换后文件格式 | | et_page_zoom | object | 否 | 表格转换参数 | |    fit_pagewide | integer | 否 | 表示是否适配所有行,0表示正常分页打印,1表示不分页,所有行在一页上 | |    fit_pagetall | integer | 否 | 表示是否适配所有列,0表示正常分页打印,1表示不分页,所有列在一页上;当fit_pagetall与fit_pagewide都为1时,表示将所有内容打印到一页上 | | to_png | object | 否 | 转png参数,仅在转png时生效 | |    long_pic | boolean | 否 | 仅在文字、演示、PDF格式转png时生效。是否转换为长图。默认为 false,按页导出图片。当 long_pic 为 true 时,必须满足 to_page=-1 或者 from_page 和 to_page 同时非空**。备注:转长图目前最大可支持转20页空白文档,在这个基础上,文档的内容越多,转换成功的范围就越小(指最终文件会出现空白页)。建议范围不超过12页。 | |    from_page | int32 | 否 | 仅在文字、演示、PDF格式转png时生效。转换起始页,从 1 开始计数。文字、演示、PDF格式转换成PDF和PNG时,能控制输出范围。 | |    to_page | int32 | 否 | 仅在文字、演示、PDF格式转png时生效。转换结束页,to_page 需要大于 from_page,to_page也可以指定为 -1,导出到最后一页(全部转换)。 备注:目前最大可支持转20页文档。 | |    sheet_index | int32 | 否 | 仅在表格 Excel 转换png时生效。指定需要转换的 Sheet,从 1 开始计数。不传,表示转换所有 Sheet | | to_pdf | object | 否 | 转pdf参数,仅在转pdf时生效 | | |    from_page | int32 | 否 | 仅在文字、演示、PDF格式转pdf时生效,转换起始页,从 1 开始计数 | |    to_page | int32 | 否 | 仅在文字、演示、PDF格式转pdf时生效,转换结束页,to_page 需要大于 from_page,to_page也可以指定为 -1,导出到最后一页(全部转换) | |    sheet_index | int32 | 否 | 仅在表格转pdf时生效,用于表格 Excel 转换时指定需要转换哪一个 Sheet,从 1 开始计数 | |    orientation | int32 | 否 | 表格转PDF 纸张方向选项: 2 -> 纸张横放; 1 -> 纸张竖放; 默认纸张竖放 | |    paper_size | int32 | 否 | (仅在图片转pdf时生效)指定页面大小:0: A4, 3: A5,传无效参数,默认A4 | |    auto_rotate_paper | boolean | 否 | 当使用paper_size指定页面大小时根据图片尺寸,自动使用横向或纵向的纸张,默认true | |    scale_small_image | boolean | 否 | 当使用paper_size指定页面大小时:true: 小图片放大到页面,保持纵横比;false: 小图片居中 | |    jpeg_quality | int32 | 否 | word转pdf指定生成的pdf中图片质量,取值范围[10,100],默认75 | |    center_horizontally | boolean | 否 | et转pdf,表格部分是水平居中的,默认true | |    center_vertically | boolean | 否 | et转pdf,表格部分是垂直居中的,默认true | | web_encoding | string | 否 | word转html格式时的文档编码。10008为GB2312,65001为UTF-8。 | | to_img | object | 否 | 转img参数,仅在转img时生效 | |    dpi | int32 | 否 | pdf转图片,设置图片dpi,默认值96 | | dst_drive_id | string | 否 | 指定结果文件存储的drive盘,不传时默认与原文档存同一个盘内,长度不超过1024位 | | po_convert_param | object | 否 | po转换参数,仅在po格式转换时使用 | |    from_page | int32 | 否 | 画布起始页,大于等于1,若未传参默认按从第一页开始处理 | |   ∟** to_page | int32 | 否 | 画布结束页,大于等于1,若未传参默认按导出到最后一页处理 |

请求体示例

json
{
  "et_page_zoom": {
    "fit_pagetall": 0,
    "fit_pagewide": 0
  },
  "file_name": "string",
  "format": "string",
  "password": "string",
  "to_img": {
    "dpi": 0
  },
  "to_pdf": {
    "auto_rotate_paper": true,
    "center_horizontally": true,
    "center_vertically": true,
    "from_page": 0,
    "jpeg_quality": 0,
    "orientation": 0,
    "paper_size": 0,
    "scale_small_image": true,
    "sheet_index": 0,
    "to_page": 0
  },
  "to_png": {
    "from_page": 0,
    "long_pic": true,
    "sheet_index": 0,
    "to_page": 0
  },
  "web_encoding": "string",
  "dst_drive_id": "string",
  "po_convert_param": {
    "from_page": 0,
    "to_page": 0
  }
}

响应体(Response)

名称类型说明
dataobject
created_byobject创建者信息
idstring身份ID
typestringEnum: "user" "sp",身份类型
ctimeinteger创建时间,时间戳,单位为秒
drive_idstring驱动盘id
idstring文件id
link_idstring链接id(应用文档:忽略此参数)
link_urlstring链接url(应用文档:忽略此参数)
modified_byobject修改者信息
idstring身份ID
typestringEnum: "user" "sp",身份类型
mtimeinteger修改时间,时间戳,单位为秒
namestring文件名
parent_idstring父目录id(应用文档:0)
sharedboolean是否开启分享(应用文档:false)
sizeinteger文件大小
typestringEnum: "folder" "file" "shortcut",文件类型(应用文档:file)
versioninteger文件版本号
codeinteger错误码,参照《错误码说明》
msgstring状态信息
detailstring详细信息

响应体示例

{
    "code": 0,
    "data": {
        "id": "string",
        "drive_id": "string",
        "mtime": 0,
        "link_url": "",
        "link_id": "",
        "shared": false,
        "parent_id": "0",
        "created_by": {
            "id": "string",
            "type": "sp"
        },
        "modified_by": {
            "id": "string",
            "type": "sp"
        },
        "size": 0,
        "version": 0,
        "type": "file",
        "name": "string",
        "ctime": 0
    },
    "detail": "",
    "msg": "ok"
}