业务系统中的Word文档如何转成pdf

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

在业务系统中Word文档转pdf是常见的需求,Word文档格式用于业务文档的编辑过程,Pdf文档格式用于流转分发的过程,通过zOffice的Open API可以方便的把Word文档转成Pdf,同时可以确保转出的Pdf与用户在浏览器中看到的Word文件完全一致。

一、zOffice简介

zOffice提供云端Office能力,包括Word、Excel、PPT三类办公文档的在线协同编辑,通过专业级的文档能力,高效的协作体验,内容级的安全管控,丰富的集成开发接口,来赋能企业的业务系统,帮助业务系统实现文档在线预览和编辑,文档操作过程全部线上进行,完成在线办公的场景闭环。

官网链接:https://www.filez.com/zoffice

集成介绍文档: https://lenovocloud.zbox.filez.com/l/a0OsO0

二、实现过程

转Pdf API是zOffice提供的服务端Rest API,具体描述如下:

1.接口说明

POST /docs/publicapi/v1/convert

请求体

Content-Type为application/json

参数名

类型

说明

是否必须

fileUrl

string

文件下载地址

是

filename

string

包含后缀的文件名,Word类型支持doc/docx/wps

是

targetFilename

string

包含后缀的目标文件名,PDF后缀为pdf

是

callback

string

回调地址。任务转换结束后zOffice回调通知状态

是

  • callback说明

任务转换结束后,zOffice通过callback回调通知调用方,zOffice回调时回传给三方。

2.返回结果

正常返回:

{
    "taskId": "6f6598c8-c87e-420b-b6c4-6f1b187201dc",
    "code": "Ok",
    "detail": {
        "taskStatus": "IN_QUEUE"
    }
}

错误返回:

{
    "taskId": "695fbf6e-90d2-42ba-83d5-00e81e5e366e",
    "code": "TaskQueueCongestion",
    "detail": {
        "taskStatus": "FAIL"
    }
}

code值是"OK",表示该转换pdf请求被zOffice正确接受,转换正在进行。转pdf结果需要等待回调通知。

3.回调通知

回调通知为三方系统实现,zOffice server在任务结束后通知三方。第三方调用文档转换请求时,需要携带了callback回调参数,zOffice在任务转换结束后会调用请求发送任务状态。

转换成功通知:

{
    "taskId": "1c1cf10b-d9e6-4927-b75e-dddf6b441445",
    "code": "ConvertSuccessNotify",
    "detail": {
        "taskStatus": "SUCCESS",
        "defaultDownloadPath": "/docs/open/v1/convert/download",
        "contentId": "640eeac02a9baf5dbc69d426",
        "filename": "demo-docx.pdf"
    }
}

转换失败通知数据:

msg中会描述任务失败原因

{
    "taskId": "1c1cf10b-d9e6-4927-b75e-dddf6b441445",
    "code": "ConvertFailNotify",
    "detail": {
        "taskStatus": "FAIL",
        "msg": "conversion fotmat err",
        "filename": "demo-docx.pdf"
    }
}

4.结果下载

接口说明:下载转换结果

GET /docs/publicapi/v1/convert/download?taskId=xxx&contentId=xxx

请求参数

参数名

类型

说明

是否必须

taskId

string

任务ID,对应回调响应中taskId

是

contentId

string

结果ID,对应回调响应中detail.contentId

是

返回:文件流

5.认证

如果业务方能成功调用zOffice转pdf API,调用API时需要携带如下请求头

请求头

示例值

描述

zOffice-auth-type

s2s_MD5_sig

固定为s2s_MD5_sig

zOffice-message-nonce

1f178946-397f-41a7-ae9e-fde1f40ad51a

随机值,每次请求时随机生成

timeStamp

1678618777752

请求时间戳,数字,自 UNIX 纪元开始(1970 年 1 月 1 日 00:00:00 (UTC))到当前时间的毫秒数

Authorization

repoId:appId:hash-md5(secret@@timestamp@@message-nonce@@reqBody)

指定算法计算的token

Authorization计算方式

public class Demo {
    public static void main(String[] args) {
        String timestampHeaderValue = System.currentTimeMillis() + "";
        String messageNonceHeaderValue = UUID.randomUUID().toString();

        String body = "请求体对应的json字符串,无请求体可忽略";
        String token = getAuthToken(timestampHeaderValue, messageNonceHeaderValue, body);
        String repoId = "repoId";
        String appId = "appId";
        token = repoId + ":" + appId + ":" + token;
        System.out.println("Authorization Header value is " + token);
    } 

    private static String getAuthToken(String timestamp, String nonce,

, String body

) {
        try {
            MessageDigest md5 = MessageDigest.getInstance("MD5");
            String secret = "secret";
            String seed = secret + "@@" + timestamp +"@@" + nonce;

            if (body !== null && body.length() > 0) {

                seed += "@@" + body;

            }
            md5.update(seed.getBytes(StandardCharsets.UTF_8));
            return new BigInteger(1, md5.digest()).toString(16);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return "";
    }
}

其中

  • repoId是与zOffice预定好的应用系统ID。appId值为固定值publicApi。
  • secret是zOffice服务和三方服务约定的密钥。

认证失败会返回状态码401及认证失败信息,例如

401 InvalidAuthTimestamp
401 InvalidAuthHeader

三、总结

使用 zOffice 提供的Word文档转pdf api,可以所见即所得的获得pdf格式文档,帮助业务系统中的文档处理流程完成闭环。

zOffice提供非常丰富的集成能力,您可以在论坛中搜索zOffice获取更多内容。相信利用zOffice,您可以更高效地生成各类业务文档,从而极大的提高您的办公自动化效率。

OnlyOffice实战:5分钟搞定Word转PDF的完整API调用指南(附CURL示例) 本文提供了一份完整的OnlyOffice API调用指南,帮助开发者在5分钟内实现Word转PDF的自动化流程。通过详细的CURL示例和参数解析,涵盖环境准备、API调用、错误排查及安全加固等关键步骤,适合需要高效文档转换的企业和开发者。 阅读详情

相关推荐

java使用POI实现word模板替换导出

代码 package com.party.web.controller.common; import org.apache.poi.xwpf.usermodel.*; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Set; public

lianzhitiger的博客 4572

Word转PDF功能实现,文档转换工具通过PHP开发

1.可以将Office(Word,Excel,PowerPoint)文件转换为PDF。通过该接口可以将图片、word、excel、ppt等文档转换为pdf格式的文件。最近比较火的文档转换工具相信大家都听说过,但是怎么实现呢?我们为了方便大家开发,处理成开放平台API供大家对接。2.转换文件内容、格式、页数等和原文件一致。

顺为网络的博客 1364

Java业务系统应用技术

5、Java 生成海报 zxing二维码处理 barcode4j-light 条形码处理。11、json 处理 jackson、fastjson、json-lib、gson。2、java pdf 生成 itext pdf 、 html2pdf。HTML电子凭证模版指定位置贴上二维码,并生成为pdf电子凭证文档。word模版文档指定位置贴上二维码,并生成为pdf电子凭证文档。8、redis链接&连接池 lettuce、4、java word文档处理。1、Java 处理email。7、hutool 工具箱。

十年磨一剑,java开发各种业务系统 1556

用 Apache POI 将 Word 文档转换为 PDF,PDF 转图片

使用 Apache POI 将 Word 文档转换为 PDF,并将 PDF 转换为图片,填充word

qq_36501494的博客 1万+

模板驱动型文档自动化:让Word/PDF生成变成填空题

文档自动化是企业提效降错的关键技术路径,其核心在于通过结构化模板替代人工排版,实现内容与样式的解耦。原理上依赖静态字段替换、条件逻辑分支和循环数据渲染三层能力,确保输出结果兼具合规性、一致性与动态适应性。技术价值体现在将重复性文档生产效率提升3倍以上,错误率趋近于零,显著降低法务审核、销售交付与HR运营中的版本混乱风险。典型应用场景包括SaaS报价单、法律合同、员工入职包、客户提案等强结构、高复用、严合规的业务文档。本文聚焦模板驱动型文档自动化,深入解析Sqribble在字段契约化、CSS工程化、PDF/A

weixin_30873847的博客 396

模板驱动型文档自动化:让Word变成业务系统前端

文档自动化是企业知识交付的核心能力,其本质是将非结构化内容与结构化数据通过可复用逻辑进行智能组装。传统方案依赖代码或AI生成,但难以兼顾业务可理解性、格式精确性和协作可持续性。模板驱动型文档自动化以Word等原生办公文档为载体,通过占位符语法、条件渲染、动态表格和多源数据映射,实现‘一次建模、多端生成、自动校验’。它既保障PDF/HTML的出版级格式一致性,又赋予业务人员自主迭代模板的能力,特别适用于SaaS客户成功、律所合同管理、高校教务报告等强规范、高复用场景。Sqribble正是这一范式的典型实践。

weixin_29720641的博客 243

如何把 PDF、Word、PPT 一键转成 Markdown?MarkItDown 文档转换与 LLM 预处理快速指南

MarkItDown 是微软开源的文档转换利器,能把 PDF、Word、PPT、Excel 等办公文件轻松转成 Markdown,完整保留标题、表格、列表等结构,是大模型(LLM)数据预处理的神器。只需一行安装命令,3 分钟即可掌握全部核心用法。 ## 📄 痛点直击:格式五花八门的文档,大模型根本“读不懂” 你大概率有过这样的场景:手里堆着一摞 PDF 报告、Word 方案、PPT 汇报和

gitblog_00166的博客 1055

模板驱动型文档自动化:让PDF/Word生成像填空一样简单

文档自动化是企业提升内容生产效率与合规性的关键技术路径,其核心在于将重复性高、规则明确的文档制作过程结构化、可复用化。不同于依赖大模型自由生成的AI写作,模板驱动型文档自动化以预设结构骨架、动态内容填充和样式继承为原理,确保每一次输出都100%符合品牌规范与法律要求。它具备多格式输出、条件逻辑嵌入、数据源灵活对接等技术价值,广泛应用于销售方案、合同协议、产品说明书、医疗报告等标准化文档场景。本文聚焦模板驱动、文档自动化两大热词,详解如何零代码构建稳定、安全、可维护的文档流水线。

weixin_30430169的博客 397

支持PDF/Word多格式文档智能审核工具

在数字化转型浪潮席卷各行业的当下,企业对文档处理的效率与精准度需求愈发迫切。尤其是PDF、Word等多格式文档作为业务流转的核心载体,其审核环节长期受困于人工依赖、格式兼容难、数据提取不准等痛点。“人工智能+”写入2024年政府工作报告,明确要求AI与产业深度融合,更推动智能审核工具成为企业降本增效、合规风控的关键抓手。在此背景下,合合信息TextIn DocFlow这款支持PDF/Word多格式的智能审核工具应运而生,为金融、财务、供应链等领域提供全流程数字化解决方案。

b_qixin的博客 885

模板驱动型文档自动化:让Word和PDF变成智能文档工厂

文档自动化是企业提升内容生产效率的关键技术路径,其核心在于将重复性文档工作从人工操作升级为可配置、可复用、可审计的标准化流程。它基于模板定义结构与样式,通过数据绑定实现动态内容填充,并依托条件逻辑、循环渲染和计算表达式支撑复杂业务规则。相比代码驱动方案,模板驱动更强调业务人员自主可控,大幅降低维护门槛与响应延迟;在金融、医疗、SaaS等强合规、多版本、高并发场景中,具备版本快照、元数据注入、输出精度控制等工程级能力。本文深入解析Sqribble所代表的模板驱动型文档自动化实践体系。

weixin_30764883的博客 400

C#实现PDF转Word文档完整解决方案(含源码与库集成)

htmltable {th, td {th {pre {简介:在C#开发环境中,使用Aspose.Words等强大库可高效实现PDF文件向Word(DOC/DOCX)格式的转换。本文详细介绍了基于Aspose.Words的PDF转Word技术流程,包括库的安装、核心代码实现及注意事项,并对比了iTextSharp、PDFSharp等替代方案的优劣。项目适用于文档自动化处理场景,经过测试验证,支持批量转换与格式保留,助力开发者快速集成文档转换功能。

weixin_42593701的博客 1036

MaxKB文件解析:PDF/Word/Excel全支持

在企业智能化转型过程中,文档处理一直是最大的痛点之一。你是否也遇到过这些问题? - **格式兼容性差**:PDF、Word、Excel等不同格式文档难以统一处理 - **内容提取困难**:文档中的表格、图片、复杂排版信息难以准确提取 - **知识碎片化**:海量文档无法有效组织成结构化的知识体系 MaxKB作为企业级智能体平台,提供了完整的文档解析解决方案,支持PDF、Word、Excel等多...

gitblog_00662的博客 1492

从工创赛实战到开源:一个高鲁棒性智能物流视觉系统的构建与优化

本文分享了从工创赛实战中构建高鲁棒性智能物流视觉系统的完整经验。针对赛场复杂光线环境,详细阐述了摄像头选型、基于CLAHE和形态学梯度的抗干扰色环识别算法、卡尔曼滤波状态估计以及多线程串口通讯与任务调度等核心优化策略,旨在打造一个稳定可靠的视觉系统,并已将相关代码开源。

weixin_29046035的博客 320

PDF文档能否通过KindEditor导入到网页中编辑?

要求:开源,免费,技术支持编辑器:KindEditor前端:vue2,vue3,react,vue-cli,html5,后端:java,jsp,springboot,asp.net,php,asp,.net core,.net mvc,.net form功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏。

alisky119的博客 984

反激系列-详细到每个容阻的原理之RCD吸收(1)

1、漏感尖峰电压会被RCD吸收,漏感能量一定,电容越大,电容充电的电压就越低,吸收能力就越强,MOS漏极的电压就越低。2、在漏感能力释放完之后(这个过程一般只有一个周期的3%时间),是要通过R1释放掉电容吸收的能量的,把电容的电压降下来方便下一次漏感尖峰来之前再进行吸收。3、电容容量和电阻需要合理搭配,容量足够即可,足够能吸收漏感尖峰电压,不至于超过MOS耐压。电阻需要足够小,小到在放电阶段把电容电压下降到MOS的电压平台。

Cuxiaoweiba的博客 3万+

一文了解ECU软件刷写的2种方法:Bootloader刷写和调试器刷写

分为刷写前、刷写中和刷写后三个阶段,如下示意:下面我们来详细了解一下Bootloader收到外部请求后开始刷写的三个阶段1)刷写前进行刷写的准备,一是确保刷写阶段总线通信的稳定性,二是避免刷写阶段出现非预期的故障,三是读取车辆数据供刷写前的一些检查等,如下所示:首先进行会话控制,通过功能寻址方式进入扩展会话模式,为后面的信息访问及其他指令做准备;然后检查刷写的前提条件,通过物理寻址方式发送历程控制请求。比如车确实处于静止状态,供电电压稳定等条件下才允许刷写;

menghuyouyou的博客 5785

PDF文档导入KindEditor的解决方案有哪些?

要求:开源,免费,技术支持编辑器:KindEditor前端:vue2,vue3,react,vue-cli,html5,后端:java,jsp,springboot,asp.net,php,asp,.net core,.net mvc,.net form功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏。

2501_90699780的博客 1042

【Bug已解决】Codex CLI 运行时出现 command not found: codex 解决方案

方案适用场景推荐指数修复 PATH 配置最常见的基础排查方向⭐⭐⭐⭐⭐检查原生二进制完整性PATH 正常但执行仍然异常⭐⭐⭐⭐统一包管理器混用多种包管理器导致混乱⭐⭐⭐⭐确认安装脚本未被跳过CI/CD 或企业策略环境⭐⭐⭐⭐排查网络下载渠道企业内网/受限网络环境⭐⭐⭐需要留意 warning 中是否涉及脚本执行失败、网络超时重试等信息,这类 warning 往往是后续问题的前兆,建议出现明显的下载/网络相关警告时就主动重新安装一次确认。Codex CLI 报。

一键难忘的博客 1万+

PDF文档如何快速导入KindEditor编辑器中?

要求:开源,免费,技术支持编辑器:KindEditor前端:vue2,vue3,react,vue-cli,html5,后端:java,jsp,springboot,asp.net,php,asp,.net core,.net mvc,.net form功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏。

weixin_52041354的博客 1108

21天教你学会PCIe专栏(14)--安全性考虑

1.1 定义安全性(Security):安全性是指保护系统免受未经授权的访问、攻击和破坏,确保数据的机密性、完整性和可用性。1.2 重要性数据保护:保护敏感数据,防止数据泄露和篡改。系统防护:防止恶意攻击,确保系统的稳定性和可靠性。合规性:满足行业标准和法律法规的要求,避免法律风险。用户信任:提高用户对系统的信任度,增强市场竞争力。通过今天的学习,你应该对PCIe安全性的重要性和常见威胁有了深入的了解,掌握了实施安全措施的方法和工具,以及安全开发的最佳实践。

xiaoheshang_123的博客 850

PointNet++改进策略目录

后续我将如何使用文章中创新点加入的PointNet++中代码实现部分进行更新。

u012901740的博客 2196

判断PDF文件与word文件中是否有章

public static void main(String[] args) throws Exception { // String path = "C:\\Users\\86185\\Desktop\\(2018)粤财保7号.pdf"; // String path = "C:\\Users\\86185\\Desktop\\(2019)粤民初1号.pdf"; // String path = "C:\\Users\\86185\\Desktop\\旧业务系统\\.

weixin_40408702的博客 1308

ZYNQ Petalinux编译系统启动文件实战指南

本文提出的混合编译加速方案实测可将编译时间从45分钟缩短至18分钟,QSPI双启动方案已在工业控制领域成功应用。Xilinx官方UG1144文档(最新v2023.1版)正点原子《ZYNQ嵌入式开发实战》开源项目Meta-Petalinux(GitHub趋势项目)未来展望:随着Versal平台的普及,Petalinux将支持更多AI加速器原生驱动,值得持续关注。

QQ_778132974的博客 812

Word转PDF用什么软件?2026年Word转PDF高质量转换方案对比

方案准确度速度LinuxWindows成本适合场景★★★★★★★★✅✅免费通用服务Gotenberg★★★★★★★★✅✅免费服务化转换★★★★★★★★★✅✅商业企业项目★★★★★★★★❌✅商业高保真WPS + COM★★★★★★★★❌✅商业Windows 企业环境Acrobat★★★★★★★★视方案✅商业PDF 专业处理云 API★★★★~★★★★★★★★★✅✅按量快速接入Apache POI★★。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 394

YOLOv11改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合

可扩展的高效物体检测BiFPN(加权双向特征金字塔网络)

Limiiiing的博客 5498

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Word文档上传至KindEditor后格式错乱怎么办?

要求:开源,免费,技术支持编辑器:KindEditor前端:vue2,vue3,react,vue-cli,html5,后端:java,jsp,springboot,asp.net,php,asp,.net core,.net mvc,.net form功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏。

2501_90699800的博客 900

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: 通过zOffice SDK实现灵活的数据统计
下一篇: 如何对多个文档进行合并
联想Filez协同办公
博客等级 码龄5年 6粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值