【onlyoffice中文指南】13-转换API接口

转换 API

对于与文档转换服务的交互,使用 POST 请求。请求参数在请求正文中以 JSON 格式输入。请求被发送到https://documentserver/ConvertService.ashx地址,其中documentserver是安装了 ONLYOFFICE 文档服务器的服务器的名称。

在4.2 版之前的ONLYOFFICE 文档服务器中,使用了带有QueryString参数的 GET 请求。

参数及其说明:

Parameters and their description:

范围 描述 类型 在场
Async 定义转换请求类型:异步与否。<br />支持的值:<br /> true<br /> false<br />当使用异步请求类型时,立即形成响应。<br />在这种情况下,要获得结果,必须在转换完成之前发送不更改参数的请求。<br />默认值为false boolean 可选的
codePage 定义从csvtxt格式转换时的文件编码。 <br />主要支持的值:<br />932 - 日语(Shift-JIS)<br />950 - 中国繁体(Big5)<br />1250 - 中欧(视窗)<br />1251 - 西里尔文(视窗)<br />65001 - Unicode (UTF-8)。<br />您可以在此文件中找到所有支持的值。 integer 可选的
Delemiter 定义从csv格式转换时用于分隔值的分隔符。 <br />支持的值:<br />0 - 没有分隔符<br />1 - 标签<br />2 - 分号<br />3 - 冒号<br />4 - 逗号<br />5 - 空间。 integer 可选的
fileType* 定义要转换的文档文件的类型。 string 必需的
Key 定义用于明确标识文档文件的文档标识符。 string 必需的
outputtype* 定义生成的转换文档类型。 string 必需的
password 如果文档文件受密码保护,则定义该文件的密码。 string 可选的
region 定义从电子表格格式转换pdf时货币和日期和时间的默认显示格式。使用四个字母(en-USfr-FR等)语言代码进行设置。默认值为en-US string 可选的
spreadsheetLayout 定义用于将电子表格转换为 pdf 的设置。 object 可选的
spreadsheetLayout.fitToHeight 设置转换区域的高度,以页数为单位。默认值为0 integer 可选的
spreadsheetLayout.fitToWidth 设置转换区域的宽度,以页数为单位。默认值为0 integer 可选的
spreadsheetLayout.gridLines 允许在输出 PDF 文件中包含或不包含网格线。默认值为false boolean 可选的
spreadsheetLayout.headings 允许在输出 PDF 文件中包含或不包含标题。默认值为false boolean 可选的
spreadsheetLayout.ignorePrintArea 确定是否忽略为电子表格文件选择的打印区域。默认值为true boolean 可选的
spreadsheetLayout.margins 设置输出 PDF 文件的边距。 object 可选的
spreadsheetLayout.margins.bottom 设置输出 PDF 文件的下边距。默认值为19.1 毫米 string 可选的
spreadsheetLayout.margins.left 设置输出 PDF 文件的左边距。默认值为17.8mm string 可选的
spreadsheetLayout.margins.right 设置输出 PDF 文件的右边距。默认值为17.8mm string 可选的
spreadsheetLayout.margins.top 设置输出 PDF 文件的上边距。默认值为19.1 毫米 string 可选的
spreadsheetLayout.orientation 设置输出 PDF 文件的方向。可能是****landscape****,****portrait****。默认值为****portrait****。 string 可选的
spreadsheetLayout.pageSize 设置输出 PDF 文件的页面大小。 object 可选的
spreadsheetLayout.pageSize.height 设置输出 PDF 文件的页面高度。默认值为297 毫米 string 可选的
spreadsheetLayout.pageSize.width 设置输出 PDF 文件的页面宽度。默认值为210 毫米 string 可选的
spreadsheetLayout.scale 允许设置输出 PDF 文件的比例。默认值为100 integer 可选的
thumbnail 将图像格式(bmpgifjpgpng)指定为outputtype时,定义缩略图的设置。 object 可选的
thumbnail.aspect 定义使图像适合指定的高度和宽度的模式。<br />支持的值:<br />0 - 拉伸文件以适应高度和宽度<br />1 - 保持图像的方面<br />2 - 在这种情况下,不使用宽度和高度设置。取而代之的是,页面的公制尺寸转换为 96dpi 的像素。例如,A4 (210x297mm) 页面将变成尺寸为 794x1123pix 的图片。<br />默认值为:2 integer 可选的
thumbnail.first 定义是仅为第一页还是为所有文档页面生成缩略图。<br />如果为 false,则将创建包含所有页面缩略图的 zip 存档。<br />默认值为true boolean 可选的
thumbnail.height 以像素为单位定义缩略图高度。默认值为100 integer 可选的
thumbnail.width 以像素为单位定义缩略图宽度。默认值为100 integer 可选的
title 定义转换后的文件名。 string 可选的
token 定义以令牌形式添加到文件服务器配置的加密签名。 string 配置要求
url 定义要转换的文档的绝对 URL。使用本地链接时请务必添加令牌。否则会出现错误。 string 必需的

* -在表中可以看到转换的可能性在你的文件转换成最知名的文件格式,其中输入格式列对应的值,文件类型参数和 输出格式列对应的值输出类型参数。

文本文档文件格式

image.png

电子表格文件格式

image.png

演示文稿格式

image.png

发送到文档转换服务的 JSON 对象示例,用于将文件从docx格式转换为pdf格式

{
    "async": false,
    "filetype": "docx",
    "key": "Khirz6zTPdfd7",
    "outputtype": "pdf",
    "title": "Example Document Title.docx",
    "url": "https://example.com/url-to-example-document.docx"
}

其中example.com是安装文档管理器文档存储服务的服务器的名称。请参阅它的工作原理部分以了解有关文档服务器服务客户端-服务器交互的更多信息。

发送到文档转换服务的 JSON 对象示例,用于将受密码保护的文件从docx格式转换为pdf格式

{
    "async": false,
    "filetype": "docx",
    "key": "Khirz6zTPdfd7",
    "outputtype": "pdf",
    "password": "123456",
    "title": "Example Document Title.docx",
    "url": "https://example.com/url-to-example-document.docx"
}

其中example.com是安装文档管理器文档存储服务的服务器的名称。请参阅它的工作原理部分以了解有关文档服务器服务客户端-服务器交互的更多信息。

发送到文档转换服务的 JSON 对象示例,用于生成docx格式的文件的png缩略图

{
    "filetype": "docx",
    "key": "Khirz6zTPdfd7",
    "outputtype": "png",
    "thumbnail": {
        "aspect": 0,
        "first": true,
        "height": 150,
        "width": 100
    },
    "title": "Example Document Title.docx",
    "url": "https://example.com/url-to-example-document.docx"
}

其中example.com是安装文档管理器文档存储服务的服务器的名称。请参阅它的工作原理部分以了解有关文档服务器服务客户端-服务器交互的更多信息。

发送到用于将电子表格文件转换为pdf格式的文档转换服务的 JSON 对象示例

{
    "filetype": "xlsx",
    "key": "Khirz6zTPdfd7",
    "outputtype": "pdf",
    "region": "en-US",
    "spreadsheetLayout": {
        "ignorePrintArea": true,
        "orientation": "portrait",
        "fitToWidth": 0,
        "fitToHeight": 0,
        "scale": 100,
        "headings": false,
        "gridLines": false,
        "pageSize": {
            "width": "210mm",
            "height": "297mm"
        },
        "margins": {
            "left": "17.8mm",
            "right": "17.8mm",
            "top": "19.1mm",
            "bottom": "19.1mm"
        }
    },
    "title": "Example Document Title.docx",
    "url": "https://example.com/url-to-example-spreadsheet.xlsx"
}

其中example.com是安装文档管理器文档存储服务的服务器的名称。请参阅它的工作原理部分以了解有关文档服务器服务客户端-服务器交互的更多信息。

JSON 对象示例包含发送到文档转换服务的 JSON Web 令牌,用于将文件从docx格式转换为pdf格式

{
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmaWxldHlwZSI6ImRvY3giLCJrZXkiOiJLaGlyejZ6VFBkZmQ3Iiwib3V0cHV0dHlwZSI6InBkZiIsInRpdGxlIjoiRXhhbXBsZSBEb2N1bWVudCBUaXRsZS5kb2N4IiwidXJsIjoiaHR0cDovL2V4YW1wbGUuY29tL3VybC10by1leGFtcGxlLWRvY3VtZW50LmRvY3gifQ.U-YAfuuy7clWjn-xOncfJ-sxVG5DlcYn0AOzJYkoR0M"
}

其中example.com是安装文档管理器文档存储服务的服务器的名称。请参阅它的工作原理部分以了解有关文档服务器服务客户端-服务器交互的更多信息。

请求结果以 XML 格式返回。以接收JSON格式需要在HTTP请求报头指定的响应接受与所述值应用/ JSON(得自4.3版本)。在形成到结果文件的链接时,使用与转换请求相同的服务器名称。

XML 格式的响应示例

在形成到结果文件的链接时,使用与转换请求相同的服务器名称。

<?xml version="1.0" encoding="utf-8"?>
<FileResult>
    <EndConvert>True</EndConvert>
    <FileUrl>https://documentserver/url-to-converted-document.pdf</FileUrl>
    <Percent>100</Percent>
</FileResult>

JSON 格式的响应示例

在形成到结果文件的链接时,使用与转换请求相同的服务器名称。

{
    "endConvert": true,
    "fileUrl": "https://documentserver/url-to-converted-document.pdf",
    "percent": 100
}

XML 格式的异步请求中间响应示例(带有参数async=true

<?xml version="1.0" encoding="utf-8"?>
<FileResult>
    <EndConvert>False</EndConvert>
    <FileUrl></FileUrl>
    <Percent>95</Percent>
</FileResult>

JSON 格式的对异步请求的中间响应示例(带有参数async=true

{
    "endConvert": false,
    "percent": 95
}

XML 格式的错误发生时的响应示例

<?xml version="1.0" encoding="utf-8"?>
<FileResult>
    <Error>-3</Error>
</FileResult>

JSON 格式发生错误时的响应示例

{
    "error": -3
}

可能的错误代码及其描述

错误代码 描述
-1 未知错误。
-2 转换超时错误。
-3 转换错误。
-4 下载要转换的文档文件时出错。
-5 密码错误。
-6 访问转换结果数据库时出错。
-7 输入错误。
-8 令牌无效。

实际示例:

image.png
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,176评论 5 469
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,190评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,232评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,953评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,879评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,177评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,626评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,295评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,436评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,365评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,414评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,096评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,685评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,771评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,987评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,438评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,032评论 2 341

推荐阅读更多精彩内容