网站首页 > java教程 正文
前言
在日常企业级应用开发过程中,文档预览、文档相互转换是非常常见的需求,平时我们都是使用纯java的一些工具进行处理,比如:docx4j、Apache POI + iText等,无论使用哪种方案,简单的一点问题没有,但是遇到比较复杂的格式,如:表格、字体等样式,效果都不是很理想,不是字体缺失,就是样式错乱,而且解决起来非常麻烦(有可能还解决不了)。
其实,无论选择哪种方案,都需要有个取舍,使用上面的工具,简单、轻量;但是想要效果好,最好的方式还是要有独立的office server,如:LibreOffice、OnlyOffice,因为它们是一套完整的office文档解决方案,并且对外提供API调用。
本文将描述使用onlyoffice将word转换为pdf。
注:使用onlyoffice的前提,需要安装部署onlyoffice,在使用本教程时,确保已部署onlyoffice。
WORD 转 PDF
接口: http://documentServer/ConvertService.ashx
请求方式: POST
Header 参数:
Accept: application/json; // 如果不设置为application/json; 响应的是xml格式
Content-type: application/json;
参数:
{
"sync" :false, // 是否异步,主要影响转换进度的返回,false时,转换进度直接时100
"filetype": "docx", // 文档类型
"key" : "ab2058df4bbc4d2f211abe12646ac883", // 文档的唯一编码,可以是文档的md5,也可以是一个唯一随机串
"outputtype": "pdf", // 输出文件类型
"title": "test.docx", // 标题,转换完之后,下载的文件名
"url" : "文档下载地址" // 文档下载地址,需要访问白名单,供onlyoffice :documentServer 进行访问下载
}
请求示例:
{
"sync" :false,
"filetype": "docx",
"key" : "ab2058df4bbc4d2f211abe12646ac883",
"outputtype": "pdf",
"title": "test.docx",
"url" : "http://192.19.0.107:9104/api/cgi-bin/oss-service/v1/ali-oss/download/1654f65941404973a280f074b63b8e4b.docx"
}
响应结果:
{
"fileUrl": "http://documentServer/cache/files/data/conv_ab2058df4bbc4d2f211abe12646ac883_513/output.pdf/test.pdf?md5=6gLrsbSrQb3GjKlx652lgA&expires=1742460434&shardkey=1742284077136&filename=test.pdf", // pdf下载地址
"fileType": "pdf", // 文件类型
"percent": 100, // 进度
"endConvert": true // 是否转换结束
}
将fileUrl在浏览器中访问,即可完成pdf下载,也可以通过前端进行控制跳转下载。
附:onlyoffice 支持的转换表:https://api.onlyoffice.com/docs/docs-api/additional-api/conversion-api/conversion-tables/
- 上一篇: 行业领先的Java IDE——IntelliJ IDEA v2022.3全新发布
- 下一篇:已经是最后一篇了
猜你喜欢
- 2025-06-10 使用OnlyOffice进行文档转换(openoffice文件转换)
- 2025-06-10 行业领先的Java IDE——IntelliJ IDEA v2022.3全新发布
- 2025-06-10 WP8.1版《愤怒的小鸟》5周年纪念版下载
- 2025-06-10 2021最新Java学习视频400集,网盘自取,建议白嫖
- 2025-06-10 本地AI Agent Hello World(Java版): Ollama + LangChain4j 快速上手指南
- 2025-06-10 北大青鸟:为什么互联网行业离不开Python?
- 2025-06-10 北大青鸟的软件开发工程师专业是怎么样的?
- 2025-06-10 深圳北大青鸟:毕业季,现在学什么职业好?
- 2025-06-10 程序员证书报名考试指南(程序员职业证书考试)
- 2025-06-10 软件开发需要学习哪些技术?(软件开发需要的技术)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)