如何利用 onlyoffice 实现文档格式转换

您所在的位置:网站首页 docx如何转为PPT 如何利用 onlyoffice 实现文档格式转换

如何利用 onlyoffice 实现文档格式转换

2023-09-30 06:53| 来源: 网络整理| 查看: 265

「这是我参与2022首次更文挑战的第5天,活动详情查看:2022首次更文挑战」。

目录

前言 正文 结尾 前言

日常生活和工作中,文档格式转换应该是很常见的需求。面对这样的需求,我们技术男有没有属于自己的好方法呢?答案是有的,它就是 onlyoffice,今天就来介绍如何利用 onlyoffice 实现文档格式转换。

正文 启动 onlyoffice 服务

首先,我们以容器的方式启动一个 onlyoffice 服务,服务端口映射 9080。

服务地址:

http://127.0.0.1:9080/ConvertService.ashx

API 接口介绍

官方的 onlyoffice 版本在 4.2 之前使用的请求是 Get 类型,之后的版本使用的请求类型是 Post,这一点需要我们特别注意。下面的表格是关于格式转换 API 参数的详细介绍。

属性参数描述数据类型存在类型Async定义转换请求类型:异步与否。支持的值: true false当使用异步请求类型时,立即形成响应。在这种情况下,要获得结果,必须在转换完成之前发送不更改参数的请求。默认值为false。boolean可选codePage定义从csv或txt格式转换时的文件编码。 主要支持的值:932 - 日语(Shift-JIS)950 - 中国繁体(Big5)1250 - 中欧(视窗)1251 - 西里尔文(视窗)65001 - Unicode (UTF-8)。您可以在此文件中找到所有支持的值。integer可选Delemiter定义从csv格式转换时用于分隔值的分隔符。 支持的值:0 - 没有分隔符1 - 标签2 - 分号3 - 冒号4 - 逗号5 - 空间。integer可选fileType*定义要转换的文档文件的类型。string必需Key定义用于明确标识文档文件的文档标识符。string必需outputtype*定义生成的转换文档类型。string必需password如果文档文件受密码保护,则定义该文件的密码。string可选region定义从电子表格格式转换为pdf时货币和日期和时间的默认显示格式。使用四个字母(en-US、fr-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.8 毫米。string可选spreadsheetLayout.margins.right设置输出 PDF 文件的右边距。默认值为17.8 毫米。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将图像格式(bmp、gif、jpg、png)指定为outputtype时,定义缩略图的设置。object可选thumbnail.aspect定义使图像适合指定的高度和宽度的模式。支持的值:0 - 拉伸文件以适应高度和宽度1 - 保持图像的方面2 - 在这种情况下,不使用宽度和高度设置。取而代之的是,页面的公制尺寸转换为 96dpi 的像素。例如,A4 (210x297mm) 页面将变成尺寸为 794x1123pix 的图片。默认值为:2。integer可选thumbnail.first定义是仅为第一页还是为所有文档页面生成缩略图。如果为 false,则将创建包含所有页面缩略图的 zip 存档。默认值为true,boolean可选thumbnail.height以像素为单位定义缩略图高度。默认值为100。integer可选thumbnail.width以像素为单位定义缩略图宽度。默认值为100。integer可选title定义转换后的文件名。string可选token定义以令牌形式添加到文件服务器配置的加密签名。string依赖配置url定义要转换的文档的绝对 URL。使用本地链接时请务必添加令牌。否则会出现错误。string必需 转换列表

下面是文本文档文件格式可以转换成其他格式的列表,第一列是源格式,从第二列到最后一列是可以转换成的其他格式,其中深色圆点表示支持,浅色圆点表示不支持。

image.png

下面是电子表格文件格式可以转换成其他格式的列表,第一列是源格式,从第二列到最后一列是可以转换成的其他格式,其中深色圆点表示支持,浅色圆点表示不支持。

image.png

下面是演示文稿格式可以转换成其他格式的列表,第一列是源格式,从第二列到最后一列是可以转换成的其他格式,其中深色圆点表示支持,浅色圆点表示不支持。

image.png

请求示例

接下来介绍一个把 docx 格式的文件转成 pdf 格式文件的请求示例:

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

返回结果:

http://101.200.154.81:9080/cache/files/conv_Kheirdze1d6zdT3dePedfd78_pdf/output.pdf/test.pdf?md5=RlFbt79mXSUBieoAbPrylw;expires=1644924337;disposition=attachment;ooname=output.pdf 100 True 结尾

好了,如何利用 onlyoffice 实现文档格式转换的方法就介绍完了,是不是很简单。需要注意的是所有的转换请求参数都是 JSON 格式,但是返回结果是 XML 格式,这一点我们需要特别注意,避免解析失败。

参考链接:api.onlyoffice.com/editors/con…

作者简介:😄大家好,我是 Data-Mining(liuzhen007),是一位典型的音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解,😄公众号:玩转音视频。同时也是 CSDN 博客专家、华为云享专家(共创编辑)、InfoQ 签约作者,欢迎关注我分享更多干货!😄



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3