项目背景:开发中需要实现word、ppt文件的在线预览,而浏览器无法打开此类文件,于是需要上传文件的时候转PDF文件存储。

下面是具体操作步骤:

一、OpenOffice是跨平台的免费软件套件,下载地址:http://www.openoffice.org/。

二、下载 jodconverter-2.2.2.zip,MAVEN导入jodconverter-2.2.2.jar失败,需要手动建立依赖包。

地址:https://sourceforge.net/projects/jodconverter/files/JODConverter/

注意:如果使用2.2.1这个包无法操作docx、pptx文件

三、 安装完之后,在安装目录的program文件下cmd执行命令

C:\Program Files (x86)\OpenOffice 4\program> soffice -headless -accept=“socket,host=127.0.0.1,port=8100;urp;” -nofirststartwizard

四、项目的pom.xml文件下maven配置

<!--openOffice--><dependency><groupId>org.apache.directory.studio</groupId><artifactId>org.apache.commons.io</artifactId><version>2.4</version></dependency><dependency><groupId>com.artofsolving</groupId><artifactId>jodconverter</artifactId><version>2.2.2</version><scope>system</scope><systemPath>${project.basedir}/src/main/resources/lib/jodconverter-2.2.2.jar</systemPath></dependency><dependency><groupId>org.openoffice</groupId><artifactId>juh</artifactId><version>3.1.0</version></dependency><dependency><groupId>org.openoffice</groupId><artifactId>unoil</artifactId><version>3.0.0</version></dependency><!--openOffice-->

五、编写测试类。


import java.io.File;import com.artofsolving.jodconverter.DocumentConverter;
import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;public class File2PDFUtil {/*** 使用openoffice 文件转换为pdf格式** @param sourceFilePath 源文件* @param destFilePath   目标文件*/public static void fileTwoPdf(String sourceFilePath, String destFilePath) {File inputFile = new File(sourceFilePath);// 找不到源文件, 则返回falseif (!inputFile.exists()) {System.err.println("文件不存在!");}// 如果目标路径不存在, 则新建该路径File outputFile = new File(destFilePath);if (!outputFile.getParentFile().exists()) {outputFile.getParentFile().mkdirs();}// 如果目标文件存在,则删除if (outputFile.exists()) {outputFile.delete();}try {OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);connection.connect();DocumentConverter converter = new OpenOfficeDocumentConverter(connection);if (inputFile.exists()) {// 进行PDF格式的转换converter.convert(inputFile, outputFile);}connection.disconnect();} catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) {fileTwoPdf("D:\\Temp\\patch\\sas.xlsx", "D:\\Temp\\patch\\22.pdf");}
}

Java使用OpenOffice实现文件转换为PDF文件(三)相关推荐

  1. 使用java程序将ceb文件转换为pdf文件

    要使用 Java 程序将 CEB 文件转换为 PDF 文件,你可以使用 Apache POI 库来读取 CEB 文件并解析其内容. Apache POI 是一个开源的 Java 库,可以用于读取和写入 ...

  2. office文件转换为pdf文件

    office文件转换为pdf文件 首先安装openoffice,自行百度 导入jar包,自行百度 引入坐标: <!-- 转pdf配置 --><dependency><gr ...

  3. 将HTML文件转换为PDF文件(Thymeleaf模板转换,简单解决中文问题, 解决HTML带图片转换PDF文件问题)

    将HTML文件转换为PDF文件 一.导入依赖 <!-- itext生成Pdf --> <dependency><groupId>com.itextpdf</g ...

  4. 使用Jacob实现将Word文件转换为Pdf文件

    在某些业务场景下,可能需要将Word文件转换为Pdf文件的需求,Word文件编辑方便,而Pdf文件查看更方便,并且格式基本不会变化,同时可以避免被误编辑. 如果使用的是Java语言,那么可以借助于Ja ...

  5. python批量pdf转word,python批量实现Word文件转换为PDF文件

    本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...

  6. 把超星阅览器的文件转换为PDF文件

    如果你是超星的用户的话,这篇文章对你也许有用:     大家都知道,从超星上面下载的书籍只能相应的用户使用,其他用户打开该书籍时还需要用户名和密码,这让很多用户有点不便.其实,可以把超星的内容转换为p ...

  7. 如何将CAJ文件转换为PDF文件

    转载自:如何将CAJ文件转换为PDF文件 如何将CAJ文件转换为PDF文件 1.使用官方的CAJViewer将CAJ文件打印PDF: 2.在线网站转换 3.直接从知网下载(推荐) ps:书签添加方法 ...

  8. python批量操作word文档实战_python批量实现Word文件转换为PDF文件

    本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...

  9. LabWindows/CVI系列——CVI下Word文件转换为PDF文件

    CVI下Word文件转换为PDF文件 目录: 需求场景 环境说明 所需文件 步骤 需求场景: 在某型号机电集成测试系统中,需要将试验报表(Word格式)转换为PDF文档,以便不易修改和查看. 环境说明 ...

最新文章

  1. 在Python中读取MATLAB的数据文件
  2. python教程哪个版本好-终于清楚python入门最好的教程
  3. Openlayers中使用Cluster+Overlay实现点击单个要素和聚合要素时显示不同弹窗
  4. 《番茄工作法图解》作者亲身讲解:这些最佳实践可以帮你筛选出那个最重要的任务...
  5. win8安装msi出现提示2503 2502的错误代码
  6. Linux chmod命令小贴士
  7. 鸿蒙系统第二款产品,鸿蒙OS第二款产品 “华为智慧屏”在Mate 30系列发布会上亮相...
  8. linux只读挂载,读写挂载
  9. [转]Linux系统下yum和apt-get的区别
  10. python语言程序设计实践教程答案实验六_Python程序设计实践教程
  11. C语言开发笔记(一)自动转换和强制转换
  12. Spring 4 官方文档学习(十)数据访问之JDBC
  13. final关键字/abstract关键字
  14. 命运(HDU-2571)
  15. 【成长之路】JavaScript中,模拟 call 的底层实现
  16. nginx 配置图片服务器 文件大小,nginx 配置图片服务器 文件大小
  17. win10 升级导致找不到SQL Server配置管理器
  18. 安装sphinx的心得和错误处理
  19. python爬取豆丁网文章_百度文库爬取分析 - osc_tgjycqas的个人空间 - OSCHINA - 中文开源技术交流社区...
  20. 解决上传 Gitee 后图片显示不出来

热门文章

  1. 小米6系统 android版本是多少,MIUI全新升级Android P!小米6全新适配,快看看有没有你的手机...
  2. mysql最大公约数函数_求最大公约数和最小公倍(PHP)
  3. ChatGPT问答技巧
  4. 【PID】51单片机PID控制电机转速
  5. 华为全面屏鸿蒙,华为鸿蒙OS强势来袭:全面屏+麒麟985+12GB
  6. 认知功能神经网络模型的生物学约束
  7. 名创优品业绩狂飙,手握哪些王牌?
  8. Android xUtils3源码解析之图片模块
  9. 2.初识Abp(Postgresql)
  10. 这些免费插件,让你的 ChatGPT 效率爆炸