文档转 HTML 同步请求

最近更新时间:2024-08-06 14:55:31

我的收藏

功能描述

文档转 HTML 功能支持对多种文档类型的文件生成 HTML 格式预览,满足 PC、App 等多个用户端的文档在线浏览需求,适用于在线教育、企业 OA、在线知识库、网盘文档预览等业务场景。
说明:
对象存储封装预览 JS SDK,只需要一条 URL 即可接入 HTML 预览服务。
您可在 文档预览接入体验工具 中自行调整参数,体验接入文档预览后的预览效果,同时该工具可以根据相应配置项生成代码,助力您快速接入文档预览。
如需在小程序内使用,请参考 小程序配置业务域名
如需接入 CDN 域名,需要打开 CDN 的高级缓存过期设置,详情请参见 节点缓存过期配置 CDN 文档。

授权说明

授权策略中 action 设置为 ci:CreateDocProcessJobs 。查看所有 action

服务开通

使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶
使用该功能需提前通过控制台或接口开通文档处理服务 。详情请参见 开通文档处理服务

使用限制

使用该接口时,请先确认相关限制条件。详情请参见 使用限制

费用说明

该接口为付费服务,产生的费用将由数据万象收取,详细计费说明可参见 文档处理费用

请求

请求示例

GET /<ObjectKey>?ci-process=doc-preview&dstType=html HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date

请求头

此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。

请求参数

名称
描述
类型
是否必选
ObjectKey
对象文件名,例如 folder/document.pdf
String
ci-process
对象存储处理能力,文档 HTML 预览固定为 doc-preview
String
dstType
转换输出目标文件类型,文档 HTML 预览固定为 html(需为小写字母)
String
srcType
指定目标文件类型,支持的文件类型请见下方
String
sign
对象下载签名,如果预览的对象为私有读时,需要传入签名,详情请参见 请求签名 文档(注意:需要进行 urlencode)
String
copyable
是否可复制。默认为可复制,填入值为1;不可复制,填入值为0
String
htmlParams
自定义配置参数,JSON 结构,需要经过 URL 安全 的 Base64 编码,默认配置为:{ commonOptions: { isShowTopArea: true, isShowHeader: true } },支持的配置参考 自定义配置项说明
String
htmlwaterword
水印文字,需要经过 URL 安全 的 Base64 编码,默认为空
String
htmlfillstyle
水印 RGBA(颜色和透明度),需要经过 URL 安全 的 Base64 编码,默认为:rgba(192,192,192,0.6)
String
htmlfront
水印文字样式,需要经过 URL 安全 的 Base64 编码,默认为:bold 20px Serif
String
htmlrotate
水印文字旋转角度,0 - 360,默认315度
String
htmlhorizontal
水印文字水平间距,单位 px,默认为50
String
htmlvertical
水印文字垂直间距,单位 px,默认为100
String
htmltitle
自定义返回html的title信息,默认为“腾讯云-数据万象”,可输入自定义字符串并配合通配符使用,需要经过 URL安全的Base64 编码。 通配符: ${InputName} 输入文件的文件名(不包括后缀) ${InputNameAndExt} 输入文件的文件名(包括后缀) 例:htmltitle=5LiH6LGh5qCH6aKYICR7SW5wdXROYW1lfQ Base64encode内容为:万象标题 ${InputName}
String
注意:
目前支持的输入文件类型包含如下格式:
演示文件:pptx、ppt、pot、potx、pps、ppsx、dps、dpt、pptm、potm、ppsm。
文字文件:doc、dot、wps、wpt、docx、dotx、docm、dotm。
表格文件:xls、xlt、et、ett、xlsx、xltx、csv、xlsb、xlsm、xltm、ets。
其他格式文件: pdf、 lrc、 c、 cpp、 h、 asm、 s、 java、 asp、 bat、 bas、 prg、 cmd、 rtf、 txt、 log、 xml、 htm、 html。
输入文件大小限制在200MB之内。
输入文件页数限制在5000页之内。

请求体

该请求的请求体为空。

响应

响应头

此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

响应体

此接口请求的响应体为html预览内容,展示效果可参见下方实际案例。

错误码

该请求无特有错误信息,常见的错误信息请参见 错误码 文档。

实际案例

案例一:简单预览

将存储桶 examples-1258125638 中的 ObjectKey 为 test.pptx 的 PPT 文件进行在线预览,最终 URL 如下:
https://examples-1258125638.cos.ap-guangzhou.myqcloud.com/test.pptx?ci-process=doc-preview&dstType=html
说明:
您还可通过 JS-SDK 实现更多功能的定制,详情请参见 自定义配置概述
直接在浏览器中打开链接,生成的预览页面如下图所示,对于幻灯片文档,还可进行全屏的幻灯片放映,支持动画、触发器等效果,并提供虚拟激光笔、演讲者模式等功能。




案例二:水印 + 自定义配置预览

将存储桶 examples-1258125638 中的 ObjectKey 为 test.pptx 的 PPT 文件进行在线预览。
1. 设置不可复制(copyable=0)
2. 设置test 水印(通过 URL 安全的 Base64编码得到 htmlwaterword=dGVzdAog)
3. 设置自定义配置参数(htmlParams为 {"mode":"normal","commonOptions":{"isShowHeader":false,"isShowTopArea":true},"pptOptions":{"isSlidesStatusPlay": true}},通过 URL 安全的 Base64编码得到 htmlParams=eyJtb2RlIjoibm9ybWFsIiwiY29tbW9uT3B0aW9ucyI6eyJpc1Nob3dIZWFkZXIiOmZhbHNlLCJpc1Nob3dUb3BBcmVhIjp0cnVlfSwicHB0T3B0aW9ucyI6eyJpc1NsaWRlc1N0YXR1c1BsYXkiOiB0cnVlfX0=)。
则最终 URL 如下:
https://examples-1258125638.cos.ap-guangzhou.myqcloud.com/test.pptx?ci-process=doc-preview&dstType=html&copyable=0&htmlwaterword=dGVzdAog&htmlParams=eyJtb2RlIjoibm9ybWFsIiwiY29tbW9uT3B0aW9ucyI6eyJpc1Nob3dIZWFkZXIiOmZhbHNlLCJpc1Nob3dUb3BBcmVhIjp0cnVlfSwicHB0T3B0aW9ucyI6eyJpc1NsaWRlc1N0YXR1c1BsYXkiOiB0cnVlfX0=
直接在浏览器中打开链接,生成的预览页面如下图所示,对于幻灯片文档,还可进行全屏的幻灯片放映,支持动画、触发器等效果,并提供虚拟激光笔、演讲者模式等功能。



预览链接也可以作为iframe嵌入到业务页面中,如下所示:
<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0,user-scalable=no">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<meta name="keywords" content="对象存储,文档预览">
<meta name="description" content="">
<title>腾讯云-对象存储-文档预览</title>
<style>
html,
body {
padding: 0;
margin: 0;
height: 100%;
touch-action: manipulation;
}
</style>
</head>
<body>
<iframe src="https://examples-1258125638.cos.ap-guangzhou.myqcloud.com/test.pptx?ci-process=doc-preview&dstType=html&copyable=0&htmlwaterword=dGVzdAog&htmlParams=eyJtb2RlIjoibm9ybWFsIiwiY29tbW9uT3B0aW9ucyI6eyJpc1Nob3dIZWFkZXIiOmZhbHNlLCJpc1Nob3dUb3BBcmVhIjp0cnVlfSwicHB0T3B0aW9ucyI6eyJpc1NsaWRlc1N0YXR1c1BsYXkiOiB0cnVlfX0=" width="100%" height="100%" allowFullScreen="true"></iframe>
</body>
</html>