目录

前言

正文

启动 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 定义从csvtxt格式转换时的文件编码。
主要支持的值:
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-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.8 毫米 string 可选
spreadsheetLayout.margins.right 设置输出 PDF 文件的右边距。默认值为17.8 毫米 string 可选
spreadsheetLayout.margins.top 设置输出 PDF 文件的上边距。默认值为19.1 毫米 string 可选
spreadsheetLayout.orientation 设置输出 PDF 文件的方向。可能是landscapeportrait。默认值为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 定义使图像适合指定的高度和宽度的模式。
支持的值:
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&amp;expires=1644924337&amp;disposition=attachment&amp;ooname=output.pdf</FileUrl><Percent>100</Percent><EndConvert>True</EndConvert>
</FileResult>

结尾

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

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


作者简介:

如何利用 onlyoffice 实现文档格式转换相关推荐

  1. Java利用jacob实现文档格式转换

    实现文档格式之间的转换,我使用的是jacob-1.7版本,需要jacob.jar来调用activex控件,本机需安装WPS/office,还需要jacob.jar以及jacob.dll 其中:     ...

  2. 文档格式转换工具对比

    需求 免费.开源.中文字体不乱码.前后排版大致一样 工具对比 工具 缺点 xdocReport(poi) 排版会乱 docx4j 仅支持docx转换 document4j 仅适用在本地安装了offic ...

  3. php 批量转换文档编码格式_据说是国内最好的文档格式转换网址~PDF,PPT,EXCEL,WORD互相转换...

    作者 雷哥 | 编辑 小西瓜 各位读者朋友,大家好. 平时工作中,经常会遇到PDF转为Word,或者PPT转为Word,或者..... 遇到这种情况,大家有什么好的方法实现呢? 今天雷哥推荐给大家一个 ...

  4. 推荐一款全能的跨平台文档格式转换工具 Pandoc

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 如果您需要将文件从一种标记格式转换为另一种标记格式,那么?pandoc就是您的瑞士军刀. OpenSource: ...

  5. Aconvert 文档格式转换-PDF转免费转其他文档网址-免费

    现在市面上的文件转换软件都已经收费,且转换后文件真的不敢用! 今天分享一个免费的文档转换软件,可将PDF文档免费转换为:Word,Excel,PPT,HTML,TXT,DWG,JPG,PNG,GIF或 ...

  6. 轻松实现各种文档格式转换,doc转pdf、doc转png图片、pdf转png图片,可以实现Windows、Linux、MacOS平台上部署(附源码和说明)

    轻松实现各种文档格式转换,doc转pdf.doc转png图片.pdf转png图片,可以实现Windows.Linux.MacOS平台上部署,可以通过命令行.shell脚本.python等方式调用. 实 ...

  7. documents4j:Java文档格式转换开发库

    为什么80%的码农都做不了架构师?>>>    http://hao.jobbole.com/documents4j/ documents4j:Java文档格式转换开发库 docum ...

  8. [文档格式转换神器]pdf,jpg,xps转doc,xls,ppt等office格式

    [文档格式转换神器]pdf,jpg,xps转doc,xls,ppt等office格式 Made By LuckyDog 今天公司财务遇到一个问题,同时也是给我出了一个难题(Because之前没弄过), ...

  9. word文档转为PDF以及多种文档格式转换

    word文档转为PDF以及多种文档格式转换 项目地址:https://gitee.com/Jakewabc/word-of-pdf.git 相关案例: https://github.com/aspos ...

最新文章

  1. MYSQL的MERGE存储引擎
  2. pytorch与keras_Keras vs PyTorch:如何通过迁移学习区分外星人与掠食者
  3. CVPR2019|微软、中科大开源基于深度高分辨表示学习的姿态估计算法
  4. 让炼丹更玄学!苏大博士生用「天干地支」生成随机种子,项目已开源
  5. 关于android.view.WindowLeaked的解决方案
  6. 使用C#调用Python脚本,带参数列表
  7. Scrapy中的splash的安装应用
  8. LVS负载均衡之NAT模式
  9. 测试环境安装配置obproxy(社区版)
  10. java 银行卡号格式化_JS银行卡号格式化 - JavaScript常用效果 - Front-End - NalanXue's Blog...
  11. 详解:hiveserver2的使用与介绍
  12. 两台服务器身份验证,OAuth 2 从入门到精通(一) - 身份认证服务器
  13. 【Docker篇之三】Dockerfile创建镜像
  14. 电子信息工程专业打工人的蓝桥杯嵌入式竞赛时记
  15. html自动浮动div广告,div+css下js浮动对联广告不随屏幕滚动的解决方法
  16. 去文字,如何用PS快速去除图片上的文字
  17. Excel零基础入门(真对2021版Excel)
  18. python 爬虫--利用百度图片处理OCR识图API进行验证码识别,并通过python、requests进行网站信息爬取(二)实战
  19. 国内手机银行安全体检:多款存在高危漏洞,可影响资金安全
  20. VBA之正则表达式(24)-- 字符串转数组

热门文章

  1. 新版标准日本语初级_第三十一课
  2. (智能间距换行均满足)Excel中单元格批量调整行间距,行高自动适应内容,且自动换行
  3. 三角函数积分的换元法
  4. linux字符串排序文件,Linux awk+uniq+sort 统计文件中某字符串出现次数并排序
  5. 10个在线正则表达式测试网站推荐
  6. 蚁群算法 python
  7. Codeforces Round #703 (Div. 2) C. Guessing the Greatest
  8. 写给自己的话:是时候有个计划了,骚年
  9. JS/正则 验证 数字 电话号码 传真 邮箱 手机号码 邮编 日期
  10. 安装 stun/turn服务