用java程序word转换PDF(window、linux都可以使用)

java linux word转pdf 网上搜索到的方式有很多,要么收费,要么失真,本文是推荐的免费,且还原度比较高,亲测可用,转换主要是通过给linux 服务器安装 libreoffice 服务实现的,作者用的版本是7.5.8, 采用yum在线安装的是 5.6.30 版本测试只转换了一页半内容严重失真(不知道啥原因)。logger.info("libreoffice word 转 pdf 命令:" + commands);logger.info("执行 Linux 命令异常:", e);// 转换成功,返回转换后的PDF文件。 阅读详情

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

java转换Word转换PDF(windows、linux通用)


前言

话不多说,我们直接上代码


提示:以下是本篇文章正文内容,下面案例可供参考

一、导入pom依赖


这里需要说明一下,因为mavan直接下载会下载不成功可以百度下载jar包

二、工具类

1.实例代码

代码如下(示例):
@Slf4j
public class PdfUtils {
//字体存放路径

/**
 * 将office文件转pdf格式 <br>
 * 使用aspose-words转pdf <br>
 * 无损格式转换
 * @param sourceFile 需要转换的word文件
 * @return
 */
public static String officeToPdf(String sourceFile) {
    if (sourceFile.endsWith(".pdf")) {
        return sourceFile;
    }
    int suffixIndex = sourceFile.lastIndexOf(".");// 文件路径中最后一个“xx.xx”的位置
    if (suffixIndex < 0) {
        log.info("文件名无后缀,转换pdf失败。");
        return sourceFile;
    }
    String targetFile = sourceFile.substring(0, suffixIndex) + ".pdf";// 生成新的pdf文件路径
    File file = new File(sourceFile);
    if (!file.exists()) {
        log.info("目标文件不存在。");
        return sourceFile;
    }
    File file2 = new File(targetFile);
   /* if (file2.exists()) {
        return targetFile;
    }*/
    getVoucher();// 获取生成pdf的凭证,要不然会有水印
    FileOutputStream fileOutputStream = null;
    try {
        fileOutputStream = new FileOutputStream(file2);
        // 要转换的word文件
        OsInfo osInfo = SystemUtil.getOsInfo();
        if(osInfo.isLinux()){
            FontSettings.setFontsFolder("/usr/share/fonts",true);
        }
        Document doc = new Document(sourceFile);
        doc.save(fileOutputStream, SaveFormat.PDF);
        log.info("word转pdf成功。{}", targetFile);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (fileOutputStream != null) {
            try {
                fileOutputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    return targetFile;
}

/**
 * 获取生成pdf的凭证,要不然会有水印
 */
private static void getVoucher() {
    try {
        InputStream is = new ClassPathResource("/license.xml").getInputStream();
        License aposeLic = new License();
        aposeLic.setLicense(is);
    } catch (Exception e) {
        log.info("获取生成pdf凭证异常。{}", e.getMessage());
    }
}

}

凭证也得需要这里直接写了

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?> Aspose.Total for Java Aspose.Words for Java Enterprise 20991231 20991231 8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7 sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=

总结

以上就是今天要讲的内容,本文仅仅简单介绍了word转换pdf的使用,已经过本人测试,本地与linux环境下均可使用。
本次分享如有疑问,可私聊 看到了就回复!
使用Java实现Word文件转PDF文件 不知大家有没有注意到,在开发工作中,我们或多或少都会接触到文档,不管是开发文档,还是用户手册,都会跟文件打交道,对于使用系统的用户来说,文件要下载再打开会比较繁琐,而且会比较耗磁盘空间,很多时候用户直观地想预览这个文件,Word不支持预览,这个就需要将Word转换为PDF格式才能进行预览,但市面上很多转换的都是商业软件,但这拦不到一个想搞技术的程序猿,在此我分享一个我常用的Word转PDF的方法,希望对你们有用。word文件转pdf文件完成,后续将更新excel转pdf示例。准备工作已完成,开始上代码。 阅读详情

相关推荐

java将Word转换成PDF三种方法

POI、jacob、aspose、aspose-words、word转成pdf、java poi word转pdf

weixin_38409915的博客 5万+

JAVA/Linux word转pdf常用方法汇总

开发过程中经常遇到将word文档转换为pdf的需求,通过研究提供两种方法供大家参考。

雪龙翔宇 9015

Java——EasyPoi导出word文档,itextpdf转换pdf

EasyPoi导出word文档,itextpdf转换pdf 文章目录EasyPoi导出word文档,itextpdf转换pdf前言一、依赖二、工具类1.WordUtil2.PDF工具类3.测试注意: 前言 一、依赖 <!--pdf--> <dependency> <groupId>org.docx4j</groupId> <artifactId>docx4j-export-fo</artifactId>

WoodYangOY的博客 4384

基于java技术实现word转pdf

在现代工作环境中,文档的处理和共享是不可或缺的任务。而将Word文件转换为PDF格式,已经成为了许多工作场景中的常见需求。无论是在商务合同、报告、简历还是其他文档类型中,将其转换为PDF格式都具有诸多优势。首先,让我们了解一下为什么在工作中将Word文件转换为PDF格式如此重要。PDF格式具有跨平台、可靠性高、内容保护性强等诸多优势。通过将文档转换为PDF格式,您可以确保文档在不同操作系统和设备上的一致性显示,同时保护文档内容不被随意修改,加密等一系列操作。

qq_44033725的博客 1万+

Java使用libreoffice实现office文件转换成pdf格式,支持windows和linux

最近写了个使用libreoffice软件转换office文件为pdf的小功能,支持word,Excel,PPT,图片,文本文件转换pdf,还有别的啥的没测过,Excel转换效果不是很好,要是有改进再更。下面是源码import org.apache.commons.io.FileUtils; import org.artofsolving.jodconverter.OfficeDocumentCo

HatherClare的博客 1万+

java word转pdf 方式 大家一起来优化

公司临上线前突然说要做一个电子合同,本来不是我的任务,后来大神因为时间紧缺,做了一半给我了,是在他生成word之后,我要转成pdf格式的,当时我就崩溃了,我也没弄过啊,后来经过不懈的努力,终于搞通了,贴出血汗代码! 1.Windows系统 在网上搜索了好多方法,后来我选择了一个利用jodconverter+openoffice方式来实现的 首先下载openoffice 地址: 百度搜

qq_30063439的博客 5598

python office转pdf linux_记录libreoffice实现office转pdf(适用于windows、linux)

由于目前的工作跟office打交道比较多,所以才有了此篇blog,需求是实现word转换pdf方便页面展示。之前lz采用的是jacob(仅支持windows)进行转换的,但是现在服务器改成linux显然不能用了,于是网上搜罗一圈,最终决定采用LibreOffice。(前提:需要安装jdk环境)LibreOffice中文官网:https://zh-cn.libreoffice.org/ 下载合适...

weixin_39628041的博客 691

windows-linux系统下word模板化文档编辑,转化pdf格式(基于aspose.word for java)

aspose-words-18.10-jdk16-crack比较新,建议用jdk1.8,我本人用的是jdk1.8的,测试效果是可以的,去水印和去Evaluation Only. Created with Aspose.Words. Copyright 2003-2018Aspose Pty Ltd.这个是可以去掉的。请勿用于商业用途,本人只做技术分享,发生纠纷概不负责。依赖的jar包和license在资源中可以提供下载。 1.word重写工具类-MapMailMergeDataSource impo.

kamiaowudi的博客 1618

Java Word 转 Pdf(Window,Linux)

摘要:工作中需要将word 模板的合同,替换内容,转为pdf 文件,用于查看与打印,并寄送给客户签字,使用的工具是Apache的poi,在windows中没任何问题, 部署在Ubuntu上的时候, 导出的却是乱七八糟的东西, 起初认为是编码问题,一直纠结,让码农好苦逼, 后面发现不管怎么调编码都没有用,后面怀疑是 字体问题,(就是在转pdf时,需要用到相应的字体来显示原生word中的字体设置效

SunAnm的博客 5345

JAVA实现Linux中word转换pdf

可以在linux中将word转为pdf,通过java代码实现,简单无脑操作,好用简单,只需要引入jar包即可,命令,代码,jar包全部都在。

基于小波变换的信号降噪处理及仿真研究_信号处理方法推荐--1(转载自用,侵删)...

综述作者:aresmiki链接:https://www.zhihu.com/question/23701194/answer/167005497来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。非平稳信号处理应该是现在信号处理技术最新的也是最热的研究方向了,信号处理方法从最早的时域统计到傅里叶变换的频域分析,是人们认识信号本质的一次巨大飞跃,给了分析人员换个角度看世界的...

weixin_32144483的博客 1249

Java实现windows,linux服务器word,excel转为PDF;aspose-words,Documents4j

Java实现windows,linux服务器word,excel转为PDF;aspose-words,Documents4j一、通过aspose-words将word,Excel文档转为PDF1.1 引入相关的jar1.2 将两个jar包,放入项目resources/lib目录下1.3 配置pom.xml1.4 测试代码二、记录下JAVA LINUX,WORD转PDF,用Documents4j2.1 添加依赖2.2 word转pdf实践代码三、java 文件转成pdf文件 预览3.1 前端代码3.2 htm

爱是与世界平行 4026

SAP-PM设备模块-PM主数据之功能位置

SAP-PM模块学习

TRUIXIANG的博客 5137

使用LibreOffice在线word转换pdf

相关资料 Windows安装包:LibreOffice_7.0.6_Win_x64.msi Linux(CentOs)安装包:LibreOffice_7.0.6_Linux_x86-64_rpm.zip 安装完成后,后续将使用java代码调用软件服务来提供word格式转换 安装 windows安装:双击,点下一步…(安装路径不要含有中文) Linux安装 解压上面资料的zip,得到两个tar压缩文件,上传至Linux 安装 # 解压 tar -zxvf LibreOffice_7.0.6_L.

954L 1467

【文献阅读笔记】之基于注意力机制的深度学习路面裂缝检测

中文,计算机辅助设计与图形学学报,第 32 卷 第 8 期,2020 年 8 月。 DOI: 10.3724/SP.J.1089.2020.18059 摘要: 为实现自动准确地检测路面裂缝, 提升路面裂缝检测效果, 提出了一种基于注意力机制的裂缝检测网络 (attention-based crack networks, ACNet). 该网络采用编码器-解码器网络构架, 编码器采用 ResNet34 为骨干网, 提取路面裂缝特征; 在编码器和解码器间加入基于注意力机制的特征模块(attention-b

qq_44785998的博客 7593

音视频从入门到精通——指数哥伦布码原理

在计算机中,一般数字的编码都为二进制,但是由于以相等长度来记录不同数字,因此会出现很多的。

mirana的专栏 1381

使用python脚本完成word转pdf(兼容linux)

使用python脚本完成word转pdf(兼容linux) 参考:https://v3u.cn/a_id_96 起因:看到一个需求是用java把word转成pdf,在windows上使用Jacob可以实现,但linux上比较麻烦, 性能等综合考虑使用OpenOffice比较好。 感觉可以用java调用python脚本实现,这里做个记录。 在原博客中,作者在windows环境下使用了comtypes实现的转换,我本地换成了pywin32实现,另,增加了一个输出目录的参数,用于指

OnlyLove_longshao的博客 3013

Windows10 搭建 FTP 服务器

问题: 有这么一个需求,博主需要对班级同学的信息进行收集,同学的信息是一个个的文件, 正常是每个同学将自己的信息打包压缩通过 QQ 或者邮箱方式发送给博主, 博主一个个接收这些压缩包,然后进行解压,再统一放到一个文件夹下, 但是博主觉得这样子实在是太麻烦了,如果某一个同学的信息来回变动,就需要接收很多次,更改很多次, 另外如果消息过多还会产生漏掉某个同学的信息的问题。 解决方法: 如果可以使...

assiduous_me的博客 3965

Java实现Word转PDF方案选择

Java实现Word转PDF方案选择 很多应用场景中都会涉及到Word转PDF,但Word转PDF的方案在网上一搜一大把,让人眼花缭乱,笔者踩过无数的坑后,最终总结出以下三种方案 OpenOffice实现Word转ODF docx2pdf实现Word转ODF itext+POI实现Word转ODF 方案 OpenOffi...

六月长安的博客 8273

RTL8306交换机芯片与FPGA联调实战:5个网口+1个MAC的配置避坑指南

本文详细解析了RTL8306交换机芯片与FPGA联调中的关键技术难点,特别是MAC5寄存器的配置陷阱和PHY页切换机制。通过实战案例和优化策略,帮助开发者高效配置5个网口+1个MAC的工业级网络设备,提升系统稳定性和实时性。

vodka的博客 1096

国产麒麟系统PXE安装-UEFI引导

注意: 适用uefi引导 适用x86_64架构 一键部署脚本扣我 1.上传ISO到PXE服务器,拷贝ISO文件 # mkdir /kylin_iso # mount -o loop Kylin-Server-10-SP1-Release-Build04-20200711-x86_64.iso /kylin_iso/ 2.配置http,获取安装源 # yum -y install httpd # mkdir /var/www/html/{ks,kylin} # 注意一定是"/kylin_iso/

河静 5056

java实现Word文件转换成PDF

使用document4j将Word文档转换成PDF 首先当然是导入maven坐标 <dependency> <groupId>com.documents4j</groupId> <artifactId>documents4j-local</artifactId> <version>1.0.3</version> </dependency> <dependency> &lt

qq1017794482的博客 4288

2025华为OD 面试手撕代码真题【字符串至多删除一个字符,是否能构成回文串】

2025华为OD 面试手撕代码真题【字符串至多删除一个字符,是否能构成回文串】

MISAYAONE的博客 1706

Apache OpenOffice开源软件转换Word到PDF(自测,踩坑,整合,一步到位)

OpenOffice开源软件转换Word到PDF(自测,踩坑,整合,一步到位) ,包含Java代码,环境安装包,jdk,openoffice,windows字体,linux字体,jodconverter:2.2.2

feifeifei666的博客 5120

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java linux word转pdf_Linux下用java调用OpenOffice实现doc转PDF

前言目前java语言能做的word转pdf都是通过poi或itext+pdfwriter,先把word转换成html,再通过模版去写出pdf,我们开头也是这样,但是随着文件多种类,开始存在转换文字和图片缺失的情况,经调查是字节码丢失导致的,最后也是网上搜罗了一大堆,除了第三方也没有什么更好的方式,最后看到了openOffice服务,但都是win平台才能使用的,索性在linux上看看能不能搞出来,最...

weixin_39517520的博客 653

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

linux java中使用POI将word转为PDF时无法显示文字

在windos上本地调试时使用POI将word转为PDF时, PDF无法显示文字的原因以及解决方案:

csl12919的博客 2406

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

下一篇: Git 的基本概念和使用方式
Java_CHUXUEZhe19
博客等级 码龄7年 17粉丝 4原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值