如何利用 onlyoffice 实现文档格式转换
目录
前言
正文
启动 onlyoffice 服务
API 接口介绍
转换列表
请求示例
结尾
前言
日常生活和工作中,文档格式转换应该是很常见的需求。面对这样的需求,我们技术男有没有属于自己的好方法呢?答案是有的,它就是 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 | 必需 |
转换列表
下面是文本文档文件格式可以转换成其他格式的列表,第一列是源格式,从第二列到最后一列是可以转换成的其他格式,其中深色圆点表示支持,浅色圆点表示不支持。
下面是电子表格文件格式可以转换成其他格式的列表,第一列是源格式,从第二列到最后一列是可以转换成的其他格式,其中深色圆点表示支持,浅色圆点表示不支持。
下面是演示文稿格式可以转换成其他格式的列表,第一列是源格式,从第二列到最后一列是可以转换成的其他格式,其中深色圆点表示支持,浅色圆点表示不支持。
请求示例
接下来介绍一个把 docx 格式的文件转成 pdf 格式文件的请求示例:
{"async": false,"filetype": "docx","key": "Khirz6zTPdfd7","outputtype": "pdf","title": "test.docx","url": "https://example.com/url-to-example-document.docx"
}
返回结果:
<?xml version="1.0" encoding="utf-8"?>
<FileResult><FileUrl>http://101.200.154.81:9080/cache/files/conv_Kheirdze1d6zdT3dePedfd78_pdf/output.pdf/test.pdf?md5=RlFbt79mXSUBieoAbPrylw&expires=1644924337&disposition=attachment&ooname=output.pdf</FileUrl><Percent>100</Percent><EndConvert>True</EndConvert>
</FileResult>
结尾
好了,如何利用 onlyoffice 实现文档格式转换的方法就介绍完了,是不是很简单。需要注意的是所有的转换请求参数都是 JSON 格式,但是返回结果是 XML 格式,这一点我们需要特别注意,避免解析失败。
参考链接:api.onlyoffice.com/editors/con…
作者简介:
如何利用 onlyoffice 实现文档格式转换相关推荐
- Java利用jacob实现文档格式转换
实现文档格式之间的转换,我使用的是jacob-1.7版本,需要jacob.jar来调用activex控件,本机需安装WPS/office,还需要jacob.jar以及jacob.dll 其中: ...
- 文档格式转换工具对比
需求 免费.开源.中文字体不乱码.前后排版大致一样 工具对比 工具 缺点 xdocReport(poi) 排版会乱 docx4j 仅支持docx转换 document4j 仅适用在本地安装了offic ...
- php 批量转换文档编码格式_据说是国内最好的文档格式转换网址~PDF,PPT,EXCEL,WORD互相转换...
作者 雷哥 | 编辑 小西瓜 各位读者朋友,大家好. 平时工作中,经常会遇到PDF转为Word,或者PPT转为Word,或者..... 遇到这种情况,大家有什么好的方法实现呢? 今天雷哥推荐给大家一个 ...
- 推荐一款全能的跨平台文档格式转换工具 Pandoc
公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 如果您需要将文件从一种标记格式转换为另一种标记格式,那么?pandoc就是您的瑞士军刀. OpenSource: ...
- Aconvert 文档格式转换-PDF转免费转其他文档网址-免费
现在市面上的文件转换软件都已经收费,且转换后文件真的不敢用! 今天分享一个免费的文档转换软件,可将PDF文档免费转换为:Word,Excel,PPT,HTML,TXT,DWG,JPG,PNG,GIF或 ...
- 轻松实现各种文档格式转换,doc转pdf、doc转png图片、pdf转png图片,可以实现Windows、Linux、MacOS平台上部署(附源码和说明)
轻松实现各种文档格式转换,doc转pdf.doc转png图片.pdf转png图片,可以实现Windows.Linux.MacOS平台上部署,可以通过命令行.shell脚本.python等方式调用. 实 ...
- documents4j:Java文档格式转换开发库
为什么80%的码农都做不了架构师?>>> http://hao.jobbole.com/documents4j/ documents4j:Java文档格式转换开发库 docum ...
- [文档格式转换神器]pdf,jpg,xps转doc,xls,ppt等office格式
[文档格式转换神器]pdf,jpg,xps转doc,xls,ppt等office格式 Made By LuckyDog 今天公司财务遇到一个问题,同时也是给我出了一个难题(Because之前没弄过), ...
- word文档转为PDF以及多种文档格式转换
word文档转为PDF以及多种文档格式转换 项目地址:https://gitee.com/Jakewabc/word-of-pdf.git 相关案例: https://github.com/aspos ...
最新文章
- MYSQL的MERGE存储引擎
- pytorch与keras_Keras vs PyTorch:如何通过迁移学习区分外星人与掠食者
- CVPR2019|微软、中科大开源基于深度高分辨表示学习的姿态估计算法
- 让炼丹更玄学!苏大博士生用「天干地支」生成随机种子,项目已开源
- 关于android.view.WindowLeaked的解决方案
- 使用C#调用Python脚本,带参数列表
- Scrapy中的splash的安装应用
- LVS负载均衡之NAT模式
- 测试环境安装配置obproxy(社区版)
- java 银行卡号格式化_JS银行卡号格式化 - JavaScript常用效果 - Front-End - NalanXue's Blog...
- 详解:hiveserver2的使用与介绍
- 两台服务器身份验证,OAuth 2 从入门到精通(一) - 身份认证服务器
- 【Docker篇之三】Dockerfile创建镜像
- 电子信息工程专业打工人的蓝桥杯嵌入式竞赛时记
- html自动浮动div广告,div+css下js浮动对联广告不随屏幕滚动的解决方法
- 去文字,如何用PS快速去除图片上的文字
- Excel零基础入门(真对2021版Excel)
- python 爬虫--利用百度图片处理OCR识图API进行验证码识别,并通过python、requests进行网站信息爬取(二)实战
- 国内手机银行安全体检:多款存在高危漏洞,可影响资金安全
- VBA之正则表达式(24)-- 字符串转数组
热门文章
- 新版标准日本语初级_第三十一课
- (智能间距换行均满足)Excel中单元格批量调整行间距,行高自动适应内容,且自动换行
- 三角函数积分的换元法
- linux字符串排序文件,Linux awk+uniq+sort 统计文件中某字符串出现次数并排序
- 10个在线正则表达式测试网站推荐
- 蚁群算法 python
- Codeforces Round #703 (Div. 2) C. Guessing the Greatest
- 写给自己的话:是时候有个计划了,骚年
- JS/正则 验证 数字 电话号码 传真 邮箱 手机号码 邮编 日期
- 安装 stun/turn服务