跳到主要内容

请求

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

请注意,在 5.5 版本之前,使用https://documentserver/ConvertService.ashx地址发送请求。

从 8.1 版开始,建议将 shardkey 参数添加到 URL QueryString,其中包含 key 值。例如,?shardkey=Khirz6zTPdfd7。这允许您对请求进行负载平衡。

ONLYOFFICE 文档4.2 之前的版本中,使用了 GET 请求,请求参数在 QueryString 中。

请求参数及其说明

async

定义转换请求类型:异步与否。

支持的值:

  • true
  • false

使用异步请求类型时,响应立即形成。在这种情况下,要获得结果,必须在转换完成之前发送不更改参数的请求。默认值为 false

类型: boolean

是否必填:非必填

如果是同步转换,文件转换时间比较长,可能会出现web请求超时错误。虽然最终可以完成转换,但只有用相同的key再次发送请求才能得到结果。

codePage

定义从 csvtxt 格式转换时的文件编码。

主要支持的值:

  • 932 - 日语 (Shift-JIS);
  • 950 - 繁体中文 (Big5);
  • 1250 - 中欧 (Windows);
  • 1251 - 西里尔字母 (Windows);
  • 65001 - Unicode (UTF-8).

您可以在此文件中找到所有支持的值。

类型: integer

是否必填:非必填

分隔符

定义从 csv 格式转换时用于分隔值的定界符。

支持的值:

  • 0 - 没有定界符;
  • 1 - 制表符;
  • 2 - 分号;
  • 3 - 冒号;
  • 4 - 逗号;
  • 5 - 空格。

类型: integer

是否必填:非必填

documentLayout

定义文档布局,该布局指定参数,用于说明将表单打印为 pdf 文档还是图像。

类型: object

是否必填:非必填

documentLayout.drawPlaceHolders

定义是否将绘制占位符。

类型: boolean

是否必填:非必填

documentLayout.drawFormHighlight

定义表单是否突出显示。

类型: boolean

是否必填:非必填

documentLayout.isPrint

定义打印模式是打开还是关闭。此参数仅用于将 docx/docxf 转换为 pdf。如果此参数等于 true,则使用 drawPlaceHoldersdrawFormHighlight 标志,如上所述。如果此参数为 false,则 drawFormHighlight 标志不起作用,并且 drawPlaceHolders 参数允许将表单保存为 pdf 格式。默认值为 false

类型: boolean

是否必填:非必填

documentRenderer

定义从 pdf, xps, oxps 转换时的文档渲染器。

类型: object

是否必填:非必填

documentRenderer.textAssociation

定义可以具有以下值的渲染模式:

  • blockChar - 所有文本都由单个字符转换。每个字符都在自己的框中(如文本框),
  • blockLine - 所有文本都由单独的行转换。每个文本行都在自己的框中。行可以在同一个块内组合,
  • plainLine - 所有文本都转换为纯文本。但每一行都是一个单独的段落,
  • plainParagraph - 所有文本都转换为纯文本。行被组合成段落。

默认值为 plainLine

类型: string

是否必填:非必填

filetype

定义要转换的文档文件的类型。

下表列出了文档转换为常见文件格式的可能性,其中输入格式列对应于filetype参数值,输出格式列对应于outputtype参数值。

类型: string

是否必填: 必填

key

定义文档标识符,用于明确标识文档文件。

Type: string

是否必填: 必填

outputtype

定义生成的转换文档类型。从 7.0 版开始,可以指定文件格式而不是扩展名。当我们事先不知道需要什么扩展时使用它们:

  • ooxml - 定义文件将被转换为 docx, docm, xlsx, xlsm, pptxpptm。例如,将 doc 文件转换为 OOXML 格式时,如果该文件包含宏,则生成的文件可以是 docxdocmxlsppt 也一样)。它也适用于将 XML 文件转换为 OOXML 格式(docxxlsxpptx,具体取决于内容);
  • odf - 定义文件将被转换为 odt, odsodp。例如,它用于将 XML 文件转换为 ODF 格式(odt, odsodp,具体取决于内容)。

下表展示了文档转换为各种知名格式的可能性,其中输入格式列对应于filetype参数值,输出格式列对应于outputtype参数值。

类型: string

是否必填: 必填

密码

如果文件有密码保护,则定义文件的密码。转换后的文件没有密码。

类型: string

是否必填:非必填

pdf

定义将文档文件转换为 pdf 的设置。

类型: object

是否必填:非必填

pdf.form

定义文档是否转换为 pdf 格式 (true) 或常规 pdf 文件 (false)。如果省略此参数,则不会更改文档内容。如果文档包含字段,则它们将保留在转换后的文档中。如果没有,则转换后的文档也不会包含它们。例如,在将 docxf。和 oform 格式转换为 pdf 时无需指定此参数。它们将始终转换为 pdf 格式。

类型: boolean

是否必填:非必填

region

定义从电子表格格式转换为 pdf时货币、日期和时间的默认显示格式。使用四个字母(en-USfr-FR等)语言代码设置。默认值为 en-US

类型: string

是否必填:非必填

spreadsheetLayout

定义将电子表格转换为 pdf 的设置。

请注意,将电子表格转换为pdf或图像格式后,一次可以返回的最大页数不超过1500。

类型: object

是否必填:非必填

spreadsheetLayout.fitToHeight

设置转换区域的高度,以页数为单位。默认值为0。默认值为 0

类型: integer

是否必填:非必填

spreadsheetLayout.fitToWidth

设置转换区域的宽度,以页数为单位。默认值为0。默认值为 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.1mm。默认值为 19.1mm

类型: string

是否必填:非必填

spreadsheetLayout.margins.left

设置输出 PDF 文件的左边距。默认值为 17.8mm

类型: string

是否必填:非必填

spreadsheetLayout.margins.right

设置输出 PDF 文件的右边距。默认值为 17.8mm

类型: string

是否必填:非必填

spreadsheetLayout.margins.top

设置输出 PDF 文件的上边距。默认值为 19.1mm

类型: string

是否必填:非必填

spreadsheetLayout.orientation

设置输出 PDF 文件的方向。可以是横向打印格式,也可以是纵向打印格式。默认值为纵向打印格式

类型: string

是否必填:非必填

spreadsheetLayout.pageSize

设置输出 PDF 文件的页面大小。

类型: object

是否必填:非必填

spreadsheetLayout.pageSize.height

设置输出 PDF 文件的页面高度。默认值为 297mm

类型: string

是否必填:非必填

spreadsheetLayout.pageSize.width

设置输出 PDF 文件的页面宽度。默认值为 210mm

类型: string

是否必填:非必填

spreadsheetLayout.scale

允许设置输出 PDF 文件的缩放比例。默认值为 100

类型: integer

是否必填:非必填

thumbnail

在将图像格式(bmp, gif, jpg, png)指定为 outputtype时,定义缩略图的设置。

类型: object

是否必填:非必填

thumbnail.aspect

定义使图像适合指定的高度和宽度的模式。支持的值:

  • 0 - 拉伸文件以适应高度和宽度,
  • 1 - 保持图像的外观,
  • 2 - 在这种情况下,不使用宽度和高度设置。取而代之的是,页面的米制尺寸被转换为 96dpi 的像素。例如,A4 (210x297mm) 页面将变成尺寸为 794x1123pix 的图片。

默认值为 2

类型: integer

是否必填: 非必填的

thumbnail.first

定义是否应仅为首页或所有文档页面生成缩略图。如果为 false,将创建包含所有页面缩略图的zip存档。默认值为 false

类型: boolean

是否必填:非必填

thumbnail.height

以像素为单位定义缩略图高度。默认值为 100

类型: integer

是否必填:非必填

thumbnail.width

以像素为单位定义缩略图宽度。默认值为 100

类型: integer

是否必填:非必填

title

定义转换后的文件名。

类型: string

是否必填:非必填

令牌

令牌的形式定义添加到 ONLYOFFICE 文档 配置的加密签名。

类型: string

是否必填: 配置要求

url

定义要转换的文档的绝对 URL。使用本地链接时请务必添加令牌。否则会出现错误。

类型: string

是否必填: 必填

watermark

定义一个 JSON 对象,其中包含水印的在转换过程中将其插入到 pdf 和图像文件中。

类型: object

是否必填:非必填

watermark.transparent

定义水印透明度

类型: float

是否必填:非必填

watermark.type

定义指定当前水印的预设形状几何形状。

类型: string

是否必填:非必填

watermark.width

定义以毫米为单位测量的水印宽度。

类型: integer

是否必填:非必填

watermark.height

定义以毫米为单位测量的水印高度。

类型: integer

是否必填:非必填

watermark.rotate

定义水印旋转角度(以度为单位)。

类型: integer

是否必填:非必填

watermark.margins

定义水印形状中的文本边距(以毫米为单位)。

类型: array of integers

是否必填:非必填

watermark.fill

以 RGB 格式定义水印填充颜色,或图像的 URL(base64 支持:data:image/png;...)。空数组[]表示水印没有填充。

类型: array of integers | string

是否必填:非必填

watermark.stroke-width

定义以毫米为单位测量的水印描边宽度。

类型: integer

是否必填:非必填

watermark.stroke

以 RGB 格式定义水印描边颜色。空数组[]表示水印笔划没有填充。

类型: array of integers

是否必填:非必填

watermark.align

定义水印形状中的垂直文本对齐方式:0 - 底部、1 - 中心、4 - 顶部。

类型: integer

是否必填:非必填

watermark.paragraphs

使用当前水印中的段落及其属性定义数组。

类型: array of objects

是否必填:非必填

watermark.paragraphs.align

定义当前段落中的水平文本对齐方式:0 - 右、1 - 左、2 - 居中、3 - 两端对齐。

类型: integer

是否必填:非必填

watermark.paragraphs.fill

以 RGB 格式定义段落突出显示。空数组[]表示该段落不突出显示。

类型: array of integers

是否必填:非必填

watermark.paragraphs.linespacing

定义当前段落中的文本行间距。

类型: integer

是否必填:非必填

watermark.paragraphs.runs

定义包含当前段落中的runs及其属性的数组。

类型: array of objects

是否必填:非必填

watermark.paragraphs.runs.text

定义run文本。

类型: string

是否必填:非必填

watermark.paragraphs.runs.fill

以 RGB 格式定义文本突出显示。 空数组[]表示文本不突出显示。

类型: array of integers

是否必填:非必填

watermark.paragraphs.runs.font-family

定义文本字体系列。

类型: string

是否必填:非必填

watermark.paragraphs.runs.font-size

定义以磅 (pt) 为单位测量的文本字体大小。

类型: string

是否必填:非必填

watermark.paragraphs.runs.bold

定义当前文本是否显示为粗体。

类型: boolean

是否必填:非必填

watermark.paragraphs.runs.italic

定义当前文本是否显示为斜体。

类型: boolean

是否必填:非必填

watermark.paragraphs.runs.strikeout

定义当前文本是否显示为删除线。

类型: boolean

是否必填:非必填

watermark.paragraphs.runs.underline

定义当前文本是否显示下划线。

类型: boolean

是否必填:非必填

请求示例

发送到文档转换服务的 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 表示安装文档管理器文档存储服务的服务器名称。要深入了解 ONLYOFFICE 文档服务的客户端-服务器交互机制,请参阅工作原理章节。

发送到文档转换服务的 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 表示安装文档管理器文档存储服务的服务器名称。要深入了解 ONLYOFFICE 文档服务的客户端-服务器交互机制,请参阅工作原理章节。

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

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

此处的 example.com 表示安装文档管理器文档存储服务的服务器名称。要深入了解 ONLYOFFICE 文档服务的客户端-服务器交互机制,请参阅工作原理章节。

发送到文档转换服务的 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",
"watermark": {
"align": 1,
"fill": [255, 0, 0],
"height": 100,
"margins": [10, 10, 10, 10],
"paragraphs": [
{
"align": 2,
"fill": [255, 0, 0],
"linespacing": 1,
"runs": [
{
"bold": true,
"italic": false,
"fill": [0, 0, 0],
"font-family": "Arial",
"font-size": 40,
"strikeout": false,
"text": "Watermark",
"underline": false
},
{
"text": "<%br%>"
}
]
}
],
"rotate": -45,
"transparent": 0.3,
"type": "rect",
"stroke-width": 1,
"stroke": [0, 0, 255],
"width": 100
}
}

此处的 example.com 表示安装文档管理器文档存储服务的服务器名称。要深入了解 ONLYOFFICE 文档服务的客户端-服务器交互机制,请参阅工作原理章节。

发送到文档转换服务的 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 表示安装文档管理器文档存储服务的服务器名称。要深入了解 ONLYOFFICE 文档服务的客户端-服务器交互机制,请参阅工作原理章节。

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

{
"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 表示安装文档管理器文档存储服务的服务器名称。要深入了解 ONLYOFFICE 文档服务的客户端-服务器交互机制,请参阅工作原理章节。

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

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

此处的 example.com 表示安装文档管理器文档存储服务的服务器名称。要深入了解 ONLYOFFICE 文档服务的客户端-服务器交互机制,请参阅工作原理章节。