控制台指南

最佳实践

开发者指南

API 文档

SDK 文档

快速入门

最近更新时间:2021-12-30 18:28:45

功能描述

文档转 HTML 功能支持对多种文档类型的文件生成 HTML 格式预览,满足 PC、App 等多个用户端的文档在线浏览需求,适用于在线教育、企业 OA、在线知识库、网盘文档预览等业务场景。

说明:

  • 对象存储封装预览 Js SDK,只需要一条 URL 即可接入 HTML 预览服务。
  • 如需在小程序内使用,请参考 小程序配置业务域名
  • 如需接入 CDN 域名,需要打开 CDN 的高级缓存过期设置,详情请参见 节点缓存过期配置 CDN 文档。

请求

请求示例

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
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
注意:

  • 目前支持的输入文件类型包含如下格式:
    • 演示文件: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 预览模板(可通过使用 js sdk 自定义模板):

<!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>
        * {
            box-sizing: border-box;
        }

        html,
        body {
            display: flex;
            flex-direction: column;
            padding: 0;
            margin: 0;
            height: 100%;

            touch-action: manipulation;
        }

        iframe {
            flex: 1;
        }
    </style>
</head>

<body>
    <script src="https://previewcdn.myqcloud.com/weboffice/jssdk/jquery-3.5.1.min.js"></script>
    <script src="https://previewcdn.myqcloud.com/weboffice/jssdk/polyfill.min.js"></script>
    <script src="https://previewcdn.myqcloud.com/weboffice/jssdk/web-office-sdk-v1.1.5.umd.js"></script>
    <script>
    var token = 'preview_token'
    var expiresIn = '3000'
    var PREVIEW_URL = 'https://prvsh.myqcloud.com/office/p/***';


    var instance = WebOfficeSDK.config({
        mount: document.querySelector('body'),
        mode: 'simple',
        url: PREVIEW_URL,

        commonOptions: {
            isShowTopArea: true,
            isShowHeader: true,
        },

        cooperUserAttribute: {
            isCooperUsersAvatarVisible: false,
        }
    })

    instance.on('fileOpen', function(data) {
        console.log('success')
    })  
    </script>
</body>

</html>

错误码

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

实际案例

将存储桶 examples-1251000004 中的 ObjectKey 为 test.pptx 的 PPT 文件进行在线预览,并设置不可复制(copyable=0)以及“test”水印(通过 URL 安全的 Base64编码得到 htmlwaterword=dGVzdAog)。则最终 URL 如下:

https://examples-1251000004.cos.ap-shanghai.myqcloud.com/test.pptx?ci-process=doc-preview&dstType=html&copyable=0&htmlwaterword=dGVzdAog

说明:

您还可通过 JS-SDK 实现更多功能的定制,详情请参见 自定义配置概述

生成的预览页面如下图所示,对于幻灯片文档,还可进行全屏的幻灯片放映,支持动画、触发器等效果,并提供虚拟激光笔、演讲者模式等功能。

目录