使用 ONLYOFFICE API 构建 Java 转换器,在 Word 和 PDF 之间进行转换

news/2024/7/6 2:24:53

文章作者:ajun

随着文档处理需求的增加,格式转换成为了一个重要的需求点。由于PDF格式具有跨平台、不易被篡改的特性,将Word格式(.docx)转换为PDF格式(.pdf)的需求尤为强烈。ONLYOFFICE作为一个强大的办公套件,提供了这样的转换功能,使得用户可以轻松地在Word和PDF之间进行转换。

除此之外,ONLYOFFICE 还提供.xlsx、.pptx等等多种文件格式的转换,更多参考 Conversion API 文档

ONLYOFFICE 文档是什么

ONLYOFFICE 文档是一个功能强大的文档编辑器,支持处理文本文档、电子表格、演示文稿、可填写表单、PDF 和电子书,可多人在线协作,支持 AI 集成。它具有丰富的插件库,并且支持自行开发上传插件。

ONLYOFFICE 文档开发者版可以无缝地适应您的网络应用,支持多种流行的编程语言和开发框架,包括JavaScript、Python、Java、C# 等。为前端框架也提供现成的组件样本 (Angular, React, Vue 等)。

如何转换

使用功能转换
  1. 打开.docx格式文档: 在ONLYOFFICE中,打开您想要转换的.docx格式文档。
  2. 导出为PDF: 在ONLYOFFICE的顶部菜单中,选择“文件”->“导出为”->“PDF”。
  3. 选择保存位置: 您将被提示选择一个保存位置来保存转换后的PDF文件。
  4. 完成转换: 点击“保存”后,ONLYOFFICE将开始将您的.docx格式文档转换为PDF格式。转换完成后,您可以在之前选择的位置找到转换后的PDF文件。

使用API转换
  1. 提前安装 ONLYOFFICE 文档服务
  2. 调用 ONLYOFFICE 转换 API 接口 将.docx格式文档转换为.pdf。转换之后会返回一个pdf文档地址。
  3. 请求示例

        请求地址:https://ONLYOFFICE文档服务地址/ConvertService.ashx

        请求方式:POST请求

        请求参数:

{

    "async": false,      //是否异步转换

    "filetype": "docx",  //需要转换的文档格式 docx

    "key": "con_0121",   //转换的可以

    "outputtype": "pdf", //转换成的结果文档格式 pdf

    "title": "Example Document Title.docx", //文档的标题

    "url": " " // 需要转换的文档url地址

}

        返回结果:

<?xml version="1.0" encoding="utf-8"?>
<FileResult>
    <FileUrl>
        http://xx/cache/files/conv_con_0121_pdf/output.pdf/Example%20Document%20Title.pdf?md5=yaTSuivWKzKK6Zi6Nn7UwA&amp;expires=1705987451&amp;filename=Example%20Document%20Title.pdf
    </FileUrl>
    <Percent>
        100
    </Percent>
    <EndConvert>
        True
    </EndConvert>
</FileResult>

Java语言实现:

OkHttpClient client = new OkHttpClient().newBuilder()
   .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"async\": false,\n    \"filetype\": \"docx\",\n    \"key\": \"Khirz6zTPdfd7\",\n    \"outputtype\": \"pdf\",\n    \"password\": \"123456\",\n    \"title\": \"Example Document Title.docx\",\n    \"url\": \"https://example.com/url-to-example-document.docx\"\n}");
Request request = new Request.Builder()
   .url("https://ONLYOFFICE文档服务地址/ConvertService.ashx")
   .method("POST", body)
   .addHeader("Content-Type", "application/json")
   .build();
Response response = client.newCall(request).execute();

  .docx格式文档文件受密码保护,可以添加password字段定义该文件的密码。

{

    "async": false,      //是否异步转换

    "filetype": "docx",  //需要转换的文档格式 docx

    "key": "con_0121",   //转换的可以

    "outputtype": "pdf", //转换成的结果文档格式 pdf

    "password": "abcabc", //需要转换的文档密码

    "title": "Example Document Title.docx", //文档的标题

    "url": " " // 需要转换的文档url地址

}

ONLYOFFICE 文档服务开启了安全验证,可以添加token字段进行处理。

{

    "async": false,      //是否异步转换

    "filetype": "docx",  //需要转换的文档格式 docx

    "key": "con_0121",   //转换的可以

    "outputtype": "pdf", //转换成的结果文档格式 pdf

    "password": "abcabc", //需要转换的文档密码

    "title": "Example Document Title.docx", //文档的标题

    "url": " " // 需要转换的文档url地址,

    "token": " " // 安全验证

}

相关链接

转换 API 文档

ONLYOFFICE 文档 8.0 新功能介绍:文章 / 视频


http://lihuaxi.xjx100.cn/news/2113568.html

相关文章

git -- 提交规范

参考链接 – 1 参考链接 – 2 参考链接 – 3 以下常见的Git代码提交规范,可以根据团队的具体情况进行调整和补充。重要的是,团队成员要保持一致性,遵守代码提交规范,以便更好地协作和维护代码库。 为什么使用同一提交代码规范有如下原因: 自动化生成 CHANGELOG。基于提交的…

11 html 学习/作业

<!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><a href"./index.html">首页</a><a href"https://www.baidu.com/">百度</a><a h…

一种新盲反褶积算法的旋转机械故障诊断方法(Python环境)

近年来&#xff0c;基于振动的旋转机械故障信号处理方法层出不穷&#xff0c;如时频分解技术&#xff0c;包括经验模态分解、集合经验模态分解、局部均值分解、变分模态分解、奇异谱分解等&#xff1b;模糊理论&#xff1b;稀疏理论&#xff1b;形态学滤波&#xff1b;盲反褶积…

3. C++ 常见的段错误及对策

常见的 C/C 段错误及对策 一、指针没有指向一块合法的内存 定义了指针变量&#xff0c;但是没有为指针分配内存&#xff0c;即指针没有指向一块合法的内存。这里举几个比较隐蔽的例子。 结构体成员指针未初始化&#xff1b;没有为结构体指针分配足够的内存&#xff1b;函数的…

Javascript 初识及基本语法详解

JavaScript 是一种广泛使用的编程语言&#xff0c;它使得网页能够具有动态和交互性。以下是对 JavaScript 初识及基本语法的详解&#xff1a; JavaScript 简介 JavaScript 最初被设计来为网页添加交互性&#xff0c;但随着时间的发展&#xff0c;它的用途已经扩展到了服务器端…

若依实现多数据源

一、简介 在实际开发中,经常可能遇到在一个应用中可能需要访问多个数据库的情况,在项目中使用注解来完成此项功能。 在需要被切换数据源的Service或Mapper方法上添加@DataSource注解,使用方法如下: @DataSource(value = DataSourceType.MASTER) public List<...> se…

简介:网络数据中心和数字孪生系统融合

前言 云服务器是在云中提供可扩展的计算服务&#xff0c;避免了使用传统服务器时需要预估资源用量及前期投入的情况。云服务器支持用户自定义一切资源&#xff1a;cpu、内存、硬盘、网络、安全等等&#xff0c;并可在访问量和负载等需求发生变化时轻松地调整它们。云服务器为业…

嵌入式C语言(十一)

可变参数宏 在之前内容有变参函数的定义和使用&#xff0c;如果你不知道可以先看看&#xff0c;这里基本的套路就是使用va_list、va_start、va_end等宏&#xff0c;去解析那些可变参数列表。 找到这些参数的存储地址后&#xff0c;就可以对这些参数进行处理了。要么自己动手&…