office文件转换为pdf文件

  1. 首先安装openoffice,自行百度
  2. 导入jar包,自行百度
  3. 引入坐标:
     <!-- 转pdf配置 --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency><dependency><groupId>org.openoffice</groupId><artifactId>juh</artifactId><version>3.2.1</version></dependency><dependency><groupId>org.openoffice</groupId><artifactId>ridl</artifactId><version>3.2.1</version></dependency><dependency><groupId>org.openoffice</groupId><artifactId>unoil</artifactId><version>3.2.1</version></dependency><dependency><groupId>commons-cli</groupId><artifactId>commons-cli</artifactId><version>1.1</version><optional>true</optional></dependency><dependency><groupId>com.thoughtworks.xstream</groupId><artifactId>xstream</artifactId><version>1.3.1</version></dependency><dependency><groupId>com.artofsolving</groupId><artifactId>jodconverter</artifactId><version>2.2.2</version><scope>system</scope> <!--system,类似provided,需要显式提供依赖的jar以后,Maven就不会在Repository中查找它--><systemPath>${basedir}/src/main/resources/lib/jodconverter-2.2.2.jar</systemPath> <!--项目根目录下的lib文件夹下--></dependency>
  1. 代码实现
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;import java.io.*;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.rmi.*;public class Office2PdfUtils {/*** 将Office文档转换为PDF. 运行该函数需要用到OpenOffice, OpenOffice下载地址为* http://www.openoffice.org/** <pre>* 方法示例:* String sourcePath = "F:\\office\\source.doc";* String destFile = "F:\\pdf\\dest.pdf";* Converter.office2PDF(sourcePath, destFile);* </pre>** @param sourceFile*            源文件, 绝对路径. 可以是Office2003-2007全部格式的文档, Office2010的没测试. 包括.doc,*            .docx, .xls, .xlsx, .ppt, .pptx, .txt 等. 示例: F:\\office\\source.doc* @param destFile*            目标文件. 绝对路径. 示例: F:\\pdf\\dest.pdf* @return 操作成功与否的提示信息. 如果返回 -1, 表示找不到源文件, 或url.properties配置错误; 如果返回 0,*         则表示操作成功; 返回1, 则表示转换失败*/public static int office2PDF(String sourceFile, String destFile) {try {File inputFile = new File(sourceFile);if (!inputFile.exists()) {return -1;// 找不到源文件, 则返回-1}// 如果目标路径不存在, 则新建该路径File outputFile = new File(destFile);if (!outputFile.getParentFile().exists()) {outputFile.getParentFile().mkdirs();}String OpenOffice_HOME = "C:\\Program Files (x86)\\OpenOffice 4";//这里是OpenOffice的安装目录, 在我的项目中,为了便于拓展接口,没有直接写成这个样子,但是这样是绝对没问题的// 如果从文件中读取的URL地址最后一个字符不是 '\',则添加'\'if (OpenOffice_HOME.charAt(OpenOffice_HOME.length() - 1) != '\\') {OpenOffice_HOME += "\\";}// 启动OpenOffice的服务String command = OpenOffice_HOME+ "program\\soffice.exe -headless -accept=\"socket,host=127.0.0.1,port=8100;urp;\"";Process pro = Runtime.getRuntime().exec(command);// connect to an OpenOffice.org instance running on port 8100OpenOfficeConnection connection = new SocketOpenOfficeConnection("127.0.0.1", 8100);connection.connect();// convertDocumentConverter converter = new OpenOfficeDocumentConverter(connection);converter.convert(inputFile, outputFile);// close the connectionconnection.disconnect();// 关闭OpenOffice服务的进程pro.destroy();return 0;} catch (FileNotFoundException e) {e.printStackTrace();return -1;} catch (ConnectException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return 1;}public static void main(String[] args) {String sourcePath = "C:\\Users\\admin\\Desktop\\demo\\测试.pptx";String destFile = "C:\\Users\\admin\\Desktop\\demo\\测试.pdf";office2PDF(sourcePath, destFile);}
}
  1. 运行时遇到的问题:FilenameUtils问题
        <dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency>

引入坐标即可正常运行。

  1. 打包时遇到的问题:找不到jar包
 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><includeSystemScope>true</includeSystemScope></configuration></plugin></plugins></build>

修改对应代码块,该配置的意思就是maven打包时会将外部引入的jar包打包到项目中。

office文件转换为pdf文件相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. Java使用OpenOffice实现文件转换为PDF文件(三)

    项目背景:开发中需要实现word.ppt文件的在线预览,而浏览器无法打开此类文件,于是需要上传文件的时候转PDF文件存储. 下面是具体操作步骤: 一.OpenOffice是跨平台的免费软件套件,下载地 ...

最新文章

  1. 研究院引进:博士70万;硕士40万
  2. QIIME 2教程. 17鉴定和过滤嵌合体q2-vsearch(2020.11)
  3. 华中农大津田賢一组招植物微生物组、生物信息方向博士后
  4. 奋斗的小蜗牛+竹青遍野 同类题
  5. Centos7 Minimal 安装后 初始化配置
  6. ASP.NET Core 2.1 使用Docker运行
  7. ZigBee与智慧家居-ZigBee方案
  8. MySQL安装之后没有MySQL数据库的原因
  9. php中sql格式化字符串,sqli注入-sprintf格式化字符串带来的注入隐患
  10. JavaScript Array(数组)对象
  11. 解决:网络风暴引起的无法ping通
  12. Jacoco 实现 Android 端手工测试覆盖率统计
  13. stm32F4安装包MDK5
  14. renderdoc捕获的mesh,通过插件一键导出成fbx
  15. 【新华三】华三设备NTP无法同步
  16. 机器学习——特征工程
  17. C语言宠物领养系统,开发一个去中心化应用Dapp-宠物领养
  18. 初等数论 五道练习题
  19. Windows10 运行 WSA
  20. 标牌标识导视指示系统设计制作工艺及材料知识

热门文章

  1. python读取csv文件路径设置_python读取csv文件
  2. 汽车车灯注塑件三维尺寸公差检测
  3. 【读书笔记】《引爆点》巴尔科姆•格拉德威尔
  4. 2022-2028年中国航空货运产业发展动态及竞争战略分析报告
  5. Zabbix主页应用介绍
  6. superset 完全汉化
  7. 电子科大辅助挂课、秒挂(付费)
  8. 自己动手搭建网站:域名和云服务器选购
  9. 【阿里云高校计划】阿里云AI训练营_Day04_车辆检测系统
  10. 连续词袋模型(Continous bag of words, CBOW)