生成同步预览 HTML 链接

最近更新时间:2025-08-29 14:48:53

我的收藏

简介

本文档提供关于数据万象文档预览任务的相关 API 概览以及 SDK 示例代码。
API
操作描述
生成同步预览转 HTML 链接

功能说明

支持对多种文档类型的文件生成 HTML 链接预览。
说明:
该功能接口从5.4.44版本开始支持,下载新版 SDK 前往 Releases 或参见 快速入门

示例代码

using System.Text;
using System.Text.Json;
using COSXML;
using COSXML.Auth;
using COSXML.Model.CI;
using COSXML.Utils;

namespace COSXMLDemo
{
public class CreateDocPreviewJobModel
{
public CosXml cosXml;
// 初始化 COS 服务实例
private void InitCosXml()
{
string region = Environment.GetEnvironmentVariable("COS_REGION");
string appid = Environment.GetEnvironmentVariable("APPID");
CosXmlConfig config = new CosXmlConfig.Builder()
.SetRegion(region) // 设置默认的地域, COS 地域的简称请参照 https://cloud.tencent.com/document/product/436/6224
.SetAppid(appid)
.Build();
string secretId = Environment.GetEnvironmentVariable("SECRET_ID"); // 云 API 密钥 SecretId, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capi
string secretKey = Environment.GetEnvironmentVariable("SECRET_KEY"); // 云 API 密钥 SecretKey, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capi
long durationSecond = 600; //每次请求签名有效时长,单位为秒
QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId, secretKey, durationSecond);
this.cosXml = new CosXmlServer(config, qCloudCredentialProvider);
}

CreateDocPreviewJobModel()
{
InitCosXml();
}
public void CreateDocPreviewJob()
{
try
{
string bucketName = "bucketname-APPID";
string objectKey = "";
CreateDocPreviewRequest request = new CreateDocPreviewRequest(bucketName,objectKey);
// 输入文件类型
request.SetSrcType("txt");
// 是否可复制。默认为可复制,填入值为1;不可复制,填入值为0
request.SetCopyable("1");
// 创建并初始化 HtmlParams 对象
var htmlParams = new CreateDocPreviewRequest.HtmlParams
{
CommonOptions = new CreateDocPreviewRequest.CommonOptions
{
IsShowTopArea = true,
IsShowHeader = true,
Language = "zh",
isBrowserViewFullscreen = true,
isIframeViewFullscreen = true,
},
WordOptions = new CreateDocPreviewRequest.WordOptions
{
isShowDocMap = false,
isBestScale = false,
},
PdfOptions = new CreateDocPreviewRequest.PdfOptions
{
isShowComment = false,
isInSafeMode = false,
isShowBottomStatusBar = false,
},
};
request.SetHtmlParams(DigestUtils.GetBase64(JsonSerializer.Serialize(htmlParams), Encoding.UTF8));
request.SetHtmlWaterword("5pWw5o2u5LiH6LGhLeaWh+aho+mihOiniA==");
request.SetHtmlFillstyle("cmdiYSgxMDIsMjA0LDI1NSwwLjMp");
request.SetHtmlFront("Ym9sZCAyNXB4IFNlcmlm");
request.SetHtmlRotate("315");
request.SetHtmlHorizontal("50");
request.SetHtmlVertical("100");
request.SetHtmlTitle("6IW+6K6v5LqRLeaVsOaNruS4h+ixoQ==");
// 设置预签名时间
request.SetSignExpired(600);
String createDocPreviewUrl = cosXml.createDocPreview(request);
Console.WriteLine(createDocPreviewUrl);
}
catch (COSXML.CosException.CosClientException clientEx)
{
Console.WriteLine("CosClientException: " + clientEx);
}
catch (COSXML.CosException.CosServerException serverEx)
{
Console.WriteLine("CosServerException: " + serverEx.GetInfo());
}
}
public static void CreateDocPrewivewJobModelMain()
{
CreateDocPreviewJobModel m = new CreateDocPreviewJobModel();
m.CreateDocPreviewJob();
}
}
}
说明
更多完整示例,请前往 GitHub 查看。

参数说明

初始化 COS 服务实例具体数据描述如下:
节点名称(关键字)
描述
类型
是否必选
region
设置默认的地域,COS 地域的简称请参见 地域和访问域名
String
secretId
云 API 密钥 SecretId,获取 API 密钥
String
secretKey
云 API 密钥 SecretKey,获取 API 密钥
String
Request 具体的数据描述如下:
名称
描述
类型
是否必选
objectKey
对象文件名,例如 folder/document.pdf
String
bucketName
Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述
String
srcType
输入目标文件类型,支持的文件类型及限制请见下方 注意事项栏
String
signExpired
签名过期时间
Integer
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

返回结果说明

成功:返回预览链接。
失败:发生错误(如 Bucket 不存在),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理