按购买渠道选择接口参考

文档翻译

翻译常见文档、扫描件、图片与网页,支持多种输出格式及 PDF 双语对照。

当前提供渠道文档

本产品仅提供阿里云市场接口文档。请使用该渠道的地址、凭证和参数。

阿里云接口参考

独立接口 · 主机、参数与认证按本渠道正文

本渠道认证说明

概述

把 Word、PDF、PPT、Excel、图片、网页等常见文件翻译成另一种语言,并尽量保持原有排版。扫描件和图片会先自动识别文字再翻译。可输出 PDF、Word、PPT、Excel、图片、HTML、OFD、Txt、Markdown,输入与输出格式可以相同(例如 Word 译成 Word)。输出 PDF 时还可生成原文与译文左右并排的双语对照版。按页计费:每 2000 字符(不计空格)计 1 页,不足 2000 字符按 1 页计。

使用流程

  1. 调用文档翻译接口,提交源文件、目标语言和输出格式。
  2. 接口立即返回 token,表示任务已创建成功。
  3. 后续通过以下任一方式获取结果: 调用查询结果接口轮询任务状态;或在 options 中传入 callbackUrl,等待系统回调,详细见回调URL。

调用文档翻译 API 需要签名,详细见文档附录:阿里签名。


阿里云支持从OSS内网直接下载文件,节约流量,见:阿里云独有部分

文档翻译

https://transdoc.market.alicloudapi.com/translate

HTTP方式: POST

Header中的Content-Type传入application/json

Body是JSON格式

必须签名才能调用成功,签名见阿里签名规则:

https://help.aliyun.com/zh/api-gateway/traditional-api-gateway/use-cases/call-apis

支持的输出格式

类型 扩展名(outputFormat 取值) 备注
PDF pdf 唯一支持双语对照(bilingual=true)的格式
图片 jpg, png 通过 options.imageOutputMode 选择每页一图、长图或动图;动图固定输出 GIF
HTML html 仅支持完整文档模式,不支持 htmlOutputMode=embedded
微软 Office docx, pptx, xlsx
开放版式文档 ofd
文本文件 txt
Markdown md

支持的输入格式

类型 扩展名(inputFormat 取值) 备注
PDF文件 pdf 扫描页会自动识别文字后翻译
微软Office文档 doc, docx, ppt, pptx, xls, xlsx, pot, pps, ppsx, csv
WPS文档 wps, wpt, dps, dpt, et, ett
苹果iWork文档 pages, key, numbers
开放版式文档 ofd
电子刊物 caj, nh, kdh
电子书 epub, chm, mobi, azw, azw3, fb2, cbr, cbz, djvu
Markdown md
CAD文档 dwg, dxf, dwt, dws, dwf, dwfx, dxb, dgn, plt, cf2, cgm
Figma和Sketch fig, sketch
网页文件 html, htm, mht, eml
图片文件 png, jpg, jpeg, gif, tif, tiff, bmp, webp, svg 等 可统一传 img;必须指定 sourceLanguage
文本文件 txt, rtf, java, js, c, cpp, jsp, css, xml, properties, log 等 可统一传 txt
网址网页 url 输入必须是单个 HTTP/HTTPS URL

请求参数

参数 类型 备注 默认值
input string 或 string数组 输入文件。字符串:单个 URL(最大 1500M)或 Base64(最大 8M);数组:多张图片(URL / Base64 可混合) 必须发送
outputFormat string 目标格式,见上方输出格式表 必须发送
targetLanguage string 译文语言,BCP 47 语言代码,例如 en、zh-CN、ja。不能为 auto。常用取值见 语言代码 必须发送
sourceLanguage string 原文语言,BCP 47 语言代码;传 auto 或不传时自动识别。输入为图片时必须显式指定,取值见 语言代码 中「图片可用」一列。不能与 targetLanguage 相同 auto
bilingual boolean 是否输出双语对照:每页左侧原文、右侧译文。仅 outputFormat=pdf 时可用 false
inputFormat string 源文件类型。可省略,由系统自动识别;网页抓取必须显式传 url 自动识别
options dictionary 可选参数,不传则用系统默认值;完整参数见附录 options 参数 无

多数场景只需传 input、targetLanguage 与 outputFormat。需要精细控制时,可在 options 中传入翻译页码范围、密码、回调 URL、输出文件名、PDF 压缩与加密、图片输出模式、水印等。

请求示例

  • 例1: PDF 译成英文,输出 PDF
{"input": "http://xxx.pdf", "outputFormat": "pdf", "targetLanguage": "en"}
  • 例2: Word 译成英文,仍输出 Word
{"input": "http://xxx.docx", "outputFormat": "docx", "targetLanguage": "en"}
  • 例3: 英文 PDF 译成中文,输出中英双语对照 PDF
{
  "input": "http://xxx.pdf",
  "outputFormat": "pdf",
  "sourceLanguage": "en",
  "targetLanguage": "zh-CN",
  "bilingual": true
}
  • 例4: 图片(Base64)译成英文,输出 PDF(图片必须指定原文语言)
{
  "input": "base64图片",
  "inputFormat": "jpg",
  "outputFormat": "pdf",
  "sourceLanguage": "zh-CN",
  "targetLanguage": "en"
}
  • 例5: 多张图片合并翻译(URL 与 Base64 可混合)
{
  "input": ["http://xxx/1.png", "base64图片2"],
  "outputFormat": "pdf",
  "sourceLanguage": "ja",
  "targetLanguage": "zh-CN"
}
  • 例6: Base64 文档译成日文,输出 HTML,指定结果文件名
{
  "input": "base64字符串",
  "inputFormat": "docx",
  "outputFormat": "html",
  "targetLanguage": "ja",
  "options": {"outputFileName": "result"}
}
  • 例7: 只翻译 PDF 第 1、3、5-7 页(其余页保留原文一并输出)
{
  "input": "http://xxx.pdf",
  "outputFormat": "pdf",
  "targetLanguage": "en",
  "options": {"pageRanges": "1,3,5-7"}
}
  • 例8: Excel 译成英文,输出 Excel
{"input": "http://xxx.xlsx", "outputFormat": "xlsx", "targetLanguage": "en"}
  • 例9: 网页 URL 译成中文,输出 Word
{
  "input": "https://www.example.com/article/123",
  "inputFormat": "url",
  "outputFormat": "docx",
  "targetLanguage": "zh-CN"
}
  • 例10: PDF 译成英文,输出压缩后的 PDF,并设置回调
{
  "input": "http://xxx.pdf",
  "outputFormat": "pdf",
  "targetLanguage": "en",
  "options": {
    "compressionLevel": "medium",
    "callbackUrl": "https://api.example.com/callback"
  }
}

返回数据结构

名称 类型 是否必须返回 备注
code number 是 10000:请求成功
msg string 是
result Dictionary 否 成功后返回

result:

名称 类型 是否必须返回 备注
token string 是 用于查询结果接口

返回示例(成功状态):

{
    "code":10000,
    "msg":"",
    "result":{"token":"YOUR_CREDENTIAL"}
}

返回示例(失败状态):

{
    "code":40001,
    "msg":"bilingual output only supports PDF"
}

翻译能力说明

  • 输入与输出格式可以相同,例如 docx→docx、pdf→pdf。
  • 只翻译读者能看到的文字。扫描件、图片会先自动识别文字;PDF 中的隐藏文字层、乱码页也会重新识别后再翻译。
  • Word、PPT、Excel、网页等数字文档中,嵌入图片里的文字不翻译。
  • 文件里完全没有可翻译文字时(例如纯图片 PPT、只有印章的图片),任务仍然成功,返回按目标格式转换的原文件。
  • 译文尽量放在原文位置,保持原有排版。译文比原文长时会自动缩小字号,因此同一页内不同段落的字号可能不同。
  • bilingual=true 时输出页面为左右并排:左侧原文、右侧译文。
  • options.pageRanges 只决定翻译哪些页,未选中的页保留原文,和译文页一起按原页码输出。
  • 按页计费:按原文字符数折算,每 2000 字符(不计空格)计 1 页,不足 2000 字符按 1 页计。只统计 pageRanges 所选页面的文字;扫描件和图片按识别出的文字统计;未识别到可翻译文字的文档按 1 页计。翻译失败不计费。查询结果中的 count 是输出文件的页数,不是计费页数。
  • 翻译耗时与页数和文字量相关,一份 20 多页的文档通常 3 分钟左右。

查询结果

调用方式: GET(无需签名)

https://api.duhuitech.com/q?token=YOUR_TOKEN

请求参数:

参数 类型 备注 是否必须发送
token string 调用文档翻译接口拿到的 token 是

由于翻译需要时间,文件越大页数越多,翻译越久,故需要轮询查询接口来获得结果。查询频率可以是1s一次,也可以更长一些。 查询后先看status,如果是Done或Failed,则翻译结束,停止轮询。如果是Doing或Pending,则继续轮询。

返回数据结构:

名称 类型 是否必须返回 备注
code number 是 10000:请求成功
msg string 是
token string 是 请求的token
result Dictionary 否 成功后返回

result:

名称 含义 类型 是否必须返回 备注
status 状态 string 是 Pending:还未开始
Doing:正在翻译
Done:翻译成功
Failed:翻译失败
progress 进度 number 否(status为Doing/Pending时返回) 范围:0.00 - 1.00,比如0.88表示88%
fileurl 输出文件地址 string 否(status为Done,且输出非图片时返回) 单文件输出返回该字段
fileurls 输出图片地址数组 string数组 否(status为Done,且输出 jpg / png 时返回) 输出图片始终返回 fileurls,即使只有一页;不会返回 fileurl
count 页数 / 图片数 integer 否 单文件输出为页数;输出图片为图片张数
filesize 文件大小 integer 否(status为Done时返回) 输出文件大小
data 附加信息 dictionary 否 输出 Excel 等格式时可能返回的工作表信息

结果读取规则:

  1. 先看 status。
  2. 若 status=Done:
    • outputFormat 为 jpg / png:读取 fileurls(数组;即使只有一页也是数组)。
    • 其它输出格式:读取 fileurl(单个字符串)。
  3. 若 status=Failed:翻译失败,停止轮询。
  4. 若 status=Doing 或 Pending:可读取 progress,继续轮询。

返回示例(进行中):

{
	"code":10000,
	"msg":"",
	"token":"YOUR_CREDENTIAL",
	"result":
	{
		"progress":0.53,
		"count":26,
		"status":"Doing"
	}
}

返回示例(成功,单文件,如 PDF / Word):

{
	"code":10000,
	"msg":"",
	"token":"YOUR_CREDENTIAL",
	"result":
	{
		"status":"Done",
		"fileurl":"https://file.duhuitech.com/o/xxx/xxx.pdf",
		"count":26,
		"filesize":587112
	}
}

返回示例(成功,输出图片):

{
	"code":10000,
	"msg":"",
	"token":"YOUR_CREDENTIAL",
	"result":
	{
		"status":"Done",
		"fileurls":[
			"https://file.duhuitech.com/o/xxx/1.png",
			"https://file.duhuitech.com/o/xxx/2.png"
		],
		"count":2,
		"filesize":1649699
	}
}

返回示例(失败状态):

{
	"code":40000,
	"msg":"No such token"
}

或:

{
	"code":10000,
	"msg":"",
	"token":"YOUR_CREDENTIAL",
	"result":
	{
		"status":"Failed"
	}
}

参数列表 options

注意事项:整数参数使用标准 JSON 数字,布尔使用 JSON true / false,枚举使用语义字符串(如 source / landscape / portrait)。未知字段、类型错误、枚举或范围错误会返回参数错误。

翻译时文字识别(OCR)由系统自动完成。图片的识别语言由 sourceLanguage 决定。

通用

参数 类型 备注 默认值
pageRanges string 要翻译的页码,可传列表或范围,例如 1,3,5-7、3-。未选中的页保留原文一并输出。页码按源文件转成 PDF 后的页序计算 全部页
sourcePassword string 源文件密码,支持有密码的 PDF、Word、PPT、Excel 无
outputFileName string 生成文件的文件名 随机
callbackUrl string 回调 URL,翻译结束后会回调该 URL,详细见 回调URL 无

输入 Office 文件相关(inputFormat 为 Word / PPT / Excel / WPS 等)

参数 类型 备注 默认值
wordShowMarkup boolean 如果是 Word 文件,是否显示审阅标记 false
powerPointLayout string 如果是 PPT 文件,导出样式:
slides 幻灯片
oneSlideHandout 每页一个幻灯片
twoSlideHandout 每页两个幻灯片
threeSlideHandout 每页三个幻灯片
fourSlideHandout 每页四个幻灯片
sixSlideHandout 每页六个幻灯片
nineSlideHandout 每页九个幻灯片
slides
powerPointHandoutOrder string 如果是 PPT 讲义模式,排列顺序:
horizontal 水平
vertical 垂直
horizontal
powerPointHandoutOrientation string 如果是 PPT 讲义模式,页面方向:
source 不改变
landscape 横向
portrait 纵向
source
excelCenterOnPage string 如果是 Excel 文件,内容居中方式:
none 不居中
both 横竖居中
horizontal 仅横向居中
vertical 仅纵向居中
none
excelMargin integer 如果是 Excel 文件,四边边距,单位 points(磅),不能为负数 使用文件默认
excelSheetIndex integer 如果是 Excel 文件,指定翻译的 Sheet 序号;第一页为 1,省略表示全部 全部
excelShowGridlines boolean 如果是 Excel 文件,是否显示网格线 true
excelContentRange string 如果是 Excel 文件,内容范围:
default 默认
printArea 使用打印区域
usedRange 只显示有内容的区域
default
excelPageFitMode string Excel 页面缩放方式:
noScaling 无缩放
fitColumnsOnOnePage 将所有列调整为一页宽
fitSheetOnOnePage 将每张工作表调整为一页
fitRowsOnOnePage 将所有行调整为一页高
将所有列调整为一页宽(使用打印区域时除外)
pageSize string 如果是 Excel 等文件,设定页面大小:
source 跟随源文档(无则按系统默认)
a3 A3
a4 A4
a5 A5
b4 B4
b5 B5
letter Letter
legal Legal
tabloid Tabloid
ledger Ledger
source
pageOrientation string 如果是 Word、Excel、TXT、HTML、Markdown、网址,设定页面方向:
source 不变
landscape 横向
portrait 竖向
source

输入网址 / 网页相关(inputFormat=url,或 html / md 等)

参数 类型 备注 默认值
webViewport string 视口模式:
desktop 桌面端网页
mobile 移动端网页
desktop
webViewportWidth integer 桌面端显示时网页最大宽度,最大 1920 1440
pageMargins string 页面边距,按顺序左 上 右 下,单位可为 px / in / cm / mm。例如:1px 2px 3px 4px 网址/HTML:左右 0、上下 1cm
Markdown:四边 0.55in
webWaitSeconds integer 停留后再抓取页面,单位秒,范围 0–30 0
webTimeoutSeconds integer 加载资源超时时间,单位秒,范围 1–120 40
webSinglePage boolean 是否生成单页长文档。打开后 pageMargins 失效 false
webTextOnly boolean 是否按文本模式抽取网页内容 false
webExtractMainContent boolean 是否抽取正文阅读区域 false
markdownTheme string 仅当输入为 Markdown 时,设置渲染主题。可选值:monet、vangogh、rembrandt、vermeer、picasso、kandinsky、davinci 默认样式

输入 EPUB 相关(inputFormat=epub 等)

参数 类型 备注 默认值
epubFontSizePt integer 字体大小,单位 pt(磅) 自动
epubLineHeightPercent integer 行高,单位百分比。例如 120 表示行高为字号的 120% 自动
epubPageSizeCm string 自定义页面大小,单位厘米,格式 宽x高,例如 7.2x15.5 自动
epubMarginsPt string 页面边距,单位 pt,格式:左 上 右 下,例如 5 5 5 5 自动

输入 CAD 文件相关(inputFormat 为 dwg / dxf 等)

参数 类型 备注 默认值
cadIncludeLayers boolean 是否生成 Layer 层 false
cadUseDisplaySettings boolean 是否按 Display 显示设置导出 false
cadQuality integer 输出品质,取值 1–5,越高越好 3
cadRemoveEmptyPages boolean 是否删除空页 false

输出 PDF 相关(outputFormat=pdf)

以下参数作用于翻译完成后的 PDF。

参数 类型 备注 默认值
compressionLevel string 压缩级别:
none 不压缩
low 低
medium 中
high 高
none
pdfLinearized boolean 是否线性化(快速 Web 显示 / 流式显示) false
pdfFlattenAnnotations boolean 是否扁平化(注释合并到 PDF) false
pdfImageOnly boolean 是否生成纯图片 PDF false
pageSplitCount integer 将每一页按长边等分为多页,最小为 2 不拆分
includePageSizeMetadata boolean 是否返回每一页的尺寸信息 false
pdfUserPassword string 生成 PDF 的用户密码(打开文件时需要) 无
pdfOwnerPassword string 生成 PDF 的所有者密码(修改文件时需要) 无
pdfPermissions string数组 有密码时的权限集合,可选值:
print 打印
copy 拷贝内容
edit 编辑
无权限

输出图片相关(outputFormat=jpg / png)

图片格式由 outputFormat 决定。通过 imageOutputMode 选择每页一图、长图或动图;动图固定输出 GIF。

参数 类型 备注 默认值
imageOutputMode string 输出模式:
separateImages 每页一图
longImage 长图
animatedGif 动图(GIF)
separateImages
imageMaxDimension integer separateImages 时为每个图最大宽或高,最大 20000;animatedGif 时最大 2000 自动
longImageWidth integer longImage 时长图宽度,最大 2000 自动
animationFrameDurationSeconds integer animatedGif 时每帧持续秒数,最小 1 1

输出 HTML 相关(outputFormat=html)

参数 类型 备注 默认值
includeOutline boolean 如果有大纲,是否生成大纲 false
htmlOutputMode string 仅支持 fullDocument 完整文档;传 embedded 会返回参数错误 fullDocument

输出 Word/PPT/Excel/Txt/OFD/Markdown 相关(outputFormat 为 docx / pptx / xlsx / txt / ofd / md)

参数 类型 备注 默认值
wordIncludeImages boolean 输出 Word 时是否保留图片 true
wordLayout string 输出 Word 时的布局:
flow 流式布局
fixed 绝对布局(位置更准,但不利于流式编辑)
flow
wordRemovePageBreaks boolean 输出 Word 时是否删除分页符 false
excelSheetMode string 输出 Excel 时工作表策略:
auto 按系统默认
singleSheet 合并为一个工作表
sheetPerPage 每页一个工作表
auto
textPreserveLayout boolean 输出 Txt 时是否保持原有布局 true
textOutputMode string 输出 Txt 时:
singleFile 所有页单个 txt
filePerPage 每页一个 txt 并打包为 zip
singleFile

输出水印相关

参数 类型 备注 默认值
watermarkText string 水印文字。输出 PDF 时最多 15 个字符;输出图片或 HTML 时最多 10 个字符 无
watermarkFontSizePt integer 水印字号,单位 pt 24
watermarkColor string 水印颜色,#RRGGBB 格式,必须 7 位 #000000
watermarkOpacityPercent integer 水印不透明度,取值 1–100,越小越透明 20
watermarkLayout string 水印布局:
center 文档中央一个水印
tiled 文档铺满水印
center

语言代码

sourceLanguage 与 targetLanguage 使用 BCP 47 语言代码,不区分大小写;zh、zh-Hans 等同 zh-CN,zh-Hant 等同 zh-TW。下表之外的其它 BCP 47 代码也可作为 targetLanguage 提交。输入为图片时,sourceLanguage 只能取「图片可用」为「是」的语言。

语言 代码 图片可用 语言 代码 图片可用
简体中文 zh-CN 是 繁体中文 zh-TW 是
英文 en 是 日文 ja 是
韩文 ko 是 法文 fr 是
德文 de 是 西班牙文 es 是
葡萄牙文 pt 是 意大利文 it 是
俄文 ru 是 荷兰文 nl 是
丹麦文 da 是 芬兰文 fi 是
挪威文 no 是 瑞典文 sv 是
土耳其文 tr 是 阿拉伯文 ar 否
越南文 vi 否 泰文 th 否
印尼文 id 否 马来文 ms 否

备注:

  • 输入文件 URL 方式支持文件最大 1500M;Base64 方式最大 8M。
  • 最大翻译时长:1小时,超过时间未完成则自动失败。
  • 翻译完成后,下载链接有效时间:1小时。

上述最后2项有延长需求请联系客服: 客服二维码


回调URL:

用途: 客户可以自行部署服务器,系统翻译结束后会调用客户提供的回调URL,直接发送翻译结果,从而无需再轮询查询结果。

在翻译请求的 options 中传入 callbackUrl。当设置了回调URL,翻译结束后(无论成功失败),系统都会尝试调用该URL,具体如下:

以POST方式调用该URL,Header头中Content-Type: application/json

Body为JSON格式,内容和查询结果的结果相同。例如单文件:

{
	"code":10000,
	"msg":"",
	"token":"YOUR_CREDENTIAL",
	"result":
	{
		"status":"Done",
		"fileurl":"https://file.duhuitech.com/o/xxx/xxx.pdf",
		"filesize":587112,
		"count":26
	}
}

输出图片时同样返回 fileurls:

{
	"code":10000,
	"msg":"",
	"token":"YOUR_CREDENTIAL",
	"result":
	{
		"status":"Done",
		"fileurls":[
			"https://file.duhuitech.com/o/xxx/1.png",
			"https://file.duhuitech.com/o/xxx/2.png"
		],
		"count":2,
		"filesize":120000
	}
}

服务端收到该POST后需在10秒内返回HTTP STATUS CODE 200,视为调用成功,否则系统认为回调失败,会再次尝试。规则如下:

系统共计最多会调用3次回调URL,如果第一次失败,则等待3秒后尝试第二次,如果第二次失败,则等待5秒后尝试第三次,如果第三次失败,则不再尝试。

回调URL超时时间10秒。


关于下载翻译后的文件需支持302跳转

接口返回的下载地址(如 fileurl / fileurls)会经 HTTP 302 跳转到实际文件。浏览器会自动跟随。

以下方式默认会跟随跳转,一般无需额外配置:

wget、Python requests / urllib、Node.js axios / got / fetch、Java OkHttp / HttpURLConnection、Go net/http、C# HttpClient、PHP file_get_contents、Objective-C / Swift NSURLSession / URLSession(含 Alamofire)

少数默认不跟随,需手动打开:

  • curl:加 -L,如 curl -L -o out.bin "下载地址"
  • Java java.net.http.HttpClient:设置 .followRedirects(HttpClient.Redirect.NORMAL)
  • PHP curl 扩展:设置 CURLOPT_FOLLOWLOCATION => true

若只拿到 302 响应、本地没有文件内容,多半是未跟随跳转,按上面说明打开对应选项即可。


阿里云独有部分:

支持从阿里云OSS内网直接下载文件,目前支持的是上海地区的阿里云OSS内网:

oss-cn-shanghai-internal.aliyuncs.com

请求里的文件 URL 包含上述域名则自动支持。


错误码表:

返回的code如果是10000,代表成功,其余是失败

JSON里返回的code 错误信息
40000 通用错误
40001 参数错误
40002 参数不符合规范

附录:阿里签名方式

参考链接:

https://help.aliyun.com/zh/api-gateway/traditional-api-gateway/use-cases/call-apis

在调用API商品时,首先您需要了解采用哪种API认证方式,云市场API商品的认证方式主要有以下两种方式。两种方式可同时使用,您可以根据不同情况来选择。

  • 简单身份认证(AppCode)

  • 签名认证

简单身份认证(AppCode)

简单认证(AppCode)调用API,有两种方式,一种是将AppCode放在Header中进行调用,一种是将AppCode放在Query参数中进行调用。

方式一:将AppCode放在Header中

在请求Header中添加一个Authorization参数。

Authorization字段的值的格式为APPCODE + 半角空格 +APPCODE值。格式如下:

Authorization:APPCODE AppCode值

示例:

Authorization:APPCODE YOUR_CREDENTIAL

方式二:将AppCode放在Query中

在请求Query中添加AppCode参数(同时支持appcode , appCode , APPCODE , APPCode四种写法)。

AppCode参数的值为AppCode的值。

示例:

http://www.aliyum.com?AppCode=YOUR_CREDENTIAL

参考链接:https://help.aliyun.com/zh/api-gateway/traditional-api-gateway/user-guide/call-an-api-operation-by-using-an-appcode

签名认证

比较复杂,推荐用阿里自己的SDK来调用,参考链接:https://help.aliyun.com/zh/api-gateway/traditional-api-gateway/user-guide/use-digest-authentication-to-call-an-api

接入时请核对当前渠道

使用已购服务对应的接口地址与认证信息,按本渠道正文处理提交、查询、回调和结果下载。

签名与鉴权开发文档首页

扫码联系度慧

企业微信客服二维码

企业微信技术咨询