通过智能媒体管理的文档格式转换功能,您可以灵活地处理各种文档类型,将其转换为适合自身需求的输出文档类型,并根据需要将转换后的文档保存在指定的OSS路径中,以便后续的应用和使用。
使用场景
在线预览优化:用户上传不同格式的文档,如PDF、Word、Excel、PPT等至OSS,为了方便用户直接在网页端或者移动端应用中预览这些文档,无需下载到本地再打开,可以调用智能媒体管理服务提供的文档转换接口。文档会被转换成图片以适合在线展示。
跨平台兼容性:不同设备和操作系统对各种文件格式支持程度不一,通过OSS文档转换服务,可以让所有用户无论使用何种设备都能顺畅地查看文档。
功能简介
支持的文件转换类型
文档格式转换功能支持的转换类型如下:
输入文档类型 | 输出文档类型 | 说明 |
Word、Excel、PPT | 支持以图片方式生成PDF。 | |
Word、Excel、PPT、PDF | PNG、JPEG | 无 |
Word、Excel、PPT | TXT | 无 |
JPEG | 无 |
支持的输入文件类型
文件类型 | 文件后缀 |
Word | doc、docx、wps、wpss、docm、dotm、dot、dotx、html |
PPT | pptx、ppt、pot、potx、pps、ppsx、dps、dpt、pptm、potm、ppsm、dpss |
Excel | xls、xlt、et、ett、xlsx、xltx、csv、xlsb、xlsm、xltm、ets |
相关说明
根据请求中指定的输出文档类型会有不同的输出内容。关于输出内容的示例信息,请参见输出内容示例。
对于JPEG、PNG格式的输出文档类型,根据输入文档类型是否为表格文档(Excel),输出内容不同。
当输入文档类型为表格文档(Excel)时,按表格中的页签生成对应数量的文件夹后,再按预览页面大小生成对应数量的文件。
当输入文档类型为非表格文档,例如文字文档(Word)、演示文档(PPT)时,按文档样式每页生成一个文件。
对于PDF和TXT格式的输出文档类型,无论输入文档类型是否为表格文档(Excel),均直接生成一个文件。
可以通过
TargetURI
指定输出地址,并支持变量渲染,更多信息,请参见TargetURI模板。也可以通过TargetURIPrefix
指定输出地址的前缀,默认输出地址请参见输出内容示例。
使用说明
文档格式转换所需的时间依赖于文档大小、文档页数、文档字数等因素,典型情况下在秒级可以完成请求,但是大文件、多页数、多字数的文档可能需要几十秒的时间。为了降低请求的应用等待时间,智能媒体管理提供了异步请求接口CreateOfficeConversionTask - 创建文档转换任务用于文档格式转换。
任务开始执行后,任务信息只保存7天,超过7天则无法再获取。您可以通过以下几种方式及时获取任务信息:
调用GetTask - 获取任务信息或ListTasks - 列出任务接口获取返回的
TaskId
,查看任务信息。在与智能媒体管理相同的地域下开通MNS服务,并配置订阅关系,及时获取任务信息通知,异步通知消息格式请参见异步通知消息格式。关于MNS SDK的更多信息,请参见步骤四:接收和删除消息。
在与智能媒体管理相同的地域下开通RocketMQ服务,并创建RocketMQ 4.0实例、Topic、Group,及时获取任务信息通知,异步通知消息格式请参见异步通知消息格式。关于RocketMQ使用的更多信息,请参见调用HTTP协议的SDK收发普通消息。
在与智能媒体管理相同的地域下开通并接入事件总线EventBridge服务,及时获取任务信息通知。更多信息,请参见智能媒体管理IMM事件。
如在使用文档转换功能后出现文档清晰度降低的情况,您可以尝试在调用CreateOfficeConversionTask接口时,通过调整ImageDPI参数来控制分辨率大小,ImageDPI参数数值越大图片越清晰。
输出内容示例
如下以请求中指定输出路径前缀TargetURIPrefix为OSS路径oss://test-bucket/target/
为例说明转换为不同输出文档类型时的输出内容。
当输入文档类型为表格文档时,输出内容示例如下所示。
oss://test-bucket/target/{sheetname}_{sheetindex}_{sheetsubindex}.{autoext}
当输入文档类型为非表格文档时,输出内容示例如下所示。
oss://test-bucket/target/{index}.{autoext}
相关参数说明如下表所示:
输入文件为Word、PDF、PPT时,表示页码。
输入文件为Excel时,表示sheetindex_sheetsubindex。
sheetindex:从1开始。表示第几个sheet页。
sheetsubindex:从1开始。一个sheet可能会转换出多张图片,表示当前sheet的第几张图片。
变量名 | 说明 | 示例值 |
index | 输出下标,从1开始。 | 6_12 |
sheetname | 输入文件为Excel时,表示Sheet工作表的名称。 | sheet1 |
autoext | 输出文件的后缀。 | jpg |