发起 PPT 转码

更新时间不可用

发起一个 PPT 转码任务。

POST
https://api.netless.link/v5/projector/tasks

请求 Header

regionstring
必填

指定处理该请求的数据中心,取值如下:

  • cn-hz:中国杭州,服务区覆盖中国大陆地区及其他数据中心未覆盖的区域。
  • us-sv:美国硅谷,服务区覆盖北美洲、南美洲。
  • sg:新加坡,服务区覆盖新加坡、东亚、东南亚。
  • in-mum:印度孟买,服务区覆盖印度。
  • eu:欧洲(法兰克福),服务区覆盖欧洲。
tokenstring
必填

SDK Token,可以通过以下方式获取:

请求 Body

resourcestring
必填

待转换的源文件 URL。

typestring

转换任务类型,取值如下:

  • dynamic:动态文档转换,即文档转网页。
  • static:静态文档转换,即文档转图片。
previewboolean

是否需要生成预览图:

  • true:是。
  • false:否。 该参数仅在 type 设为 dynamic 时生效。
scalenumber

图片缩放比例。数值越大,图片越清晰。该参数仅在 type 设为 static 时生效。

outputFormatstring

输出图片格式,取值如下:

  • png:PNG 格式。
  • jpg:JPG 格式。
  • jpeg:JPEG 格式。
  • qpdf:QPDF 格式。仅 PDF 文件支持转换为 QPDF 格式。你可以使用 @netless-app-pdfjs 插件展示到基于 Fastboard SDK 的互动白板 App 中。 该参数仅在 type 设为 static 时生效。
webhookEndpointstring

Webhook 回调地址,一般为 app 服务端地址,用于接收服务端发送的转换任务进度等信息。传入该参数即可激活 Webhook 回调,接收来自服务端的文档转换进度和运行状态信息。

注意

Webhook 回调有一定概率重复回调,为保证 app 服务端在接到相同响应时的处理方式保持一致,需要做好幂等处理。

webhookRetrynumber

Webhook 回调失败时的重试次数。

imageCompressionLevelnumber

动态转换输出图片的压缩等级,仅能传入以下值:

  • 0:(默认)输出原图。
  • 1:输出图片使用的最大颜色数量限制为 256。
  • 2:输出图片使用的最大颜色数量限制为 192。
  • 3:输出图片使用的最大颜色数量限制为 128。
  • 4:输出图片使用的最大颜色数量限制为 64。 该参数仅在 type 设为 dynamic 时生效。

说明

通常,在保证画质不受明显影响的前提下,输出图片的体积最高可以压缩至原图的 10%。压缩图片体积可在弱网环境下改善转换后 PPT 的首次加载时间。

响应

若返回的状态码为 201 则表示请求成功。响应包体中包含本次请求的结果。

若返回的状态码不为 201 则表示请求失败。你可以参考响应状态码了解可能的原因。

响应 Body

uuidstring

转换任务的 UUID,即转换任务的唯一标识符。

typestring

转换任务类型,取值如下:

  • dynamic:动态文档转换,即文档转网页。
  • static:静态文档转换,即文档转图片。
statusstring

转换任务的状态:

  • Waiting:等待转换。
  • Converting:转换中。
  • Finished:已完成。
  • Fail:失败。

请求示例

Example Request
curl --request POST \
  --url "https://api.netless.link/v5/projector/tasks" \
  --header 'region: cn-hz' \
  --header 'token: <string>' \
  -H 'Content-Type: application/json' \
  -d '{
  "resource": "https://docs-test-xx.oss-cn-hangzhou.aliyuncs.com/xxx",
  "type": "dynamic",
  "preview": true,
  "webhookEndpoint": "https://example.com/agoracallback",
  "webhookRetry": 3,
  "imageCompressionLevel": 0
}'

响应示例

{
  "uuid": "2fd2dxxxxx367e",
  "status": "Waiting"
}