java 调用OpenOffice将word格式文件转换为pdf格式
2021-06-28 20:05
标签:连接 tcp tput 环境搭建 code 这一 host ref 进程 一:环境搭建 OpenOffice 下载地址http://www.openoffice.org/ JodConverter 下载地址http://sourceforge.net/projects/jodconverter/files/JODConverter/ 解压后将目录下的所有jar包放在工程的lib下面或者采用引用的方式调用这些jar包。 下载后安装,我安装的路径为D:/openOffice/install/ 二:启动服务 可以通过cmd调用服务, " cd D:/openOffice/install/program" 执行 soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard 查看是否安装成功,查看端口对应的pid netstat -ano|findstr 8100 查看pid对应的服务程序名 tasklist|findstr pid值 也可以把这一步省略,放到java程序中调用服务,因为启动服务占用内存比较大,在java中可以在使用 的时候调用,然后马上销毁。 三:程序代码 1:将word转换为pdf方法 2:调用方法 以上代码经过验证,可以正常运行。 四:遇到问题 错误信息: java.net.ConnectException: connection failed: socket,host=10.101.50.71,port=8100,tcpNoDelay=1: java.net.ConnectException: Connection refused: connect at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.connect(AbstractOpenOfficeConnection.java:79) 原因以及解决方法:第一次调用,soffice需要注册,所以到soffice.exe的安装路径下双击soffice.exe,注册即可。 java 调用OpenOffice将word格式文件转换为pdf格式 标签:连接 tcp tput 环境搭建 code 这一 host ref 进程 原文地址:https://www.cnblogs.com/chunhui521/p/9648572.html 1 // 将word格式的文件转换为pdf格式
2 public void Word2Pdf(String srcPath, String desPath) throws IOException {
3 // 源文件目录
4 File inputFile = new File(srcPath);
5 if (!inputFile.exists()) {
6 System.out.println("源文件不存在!");
7 return;
8 }
9 // 输出文件目录
10 File outputFile = new File(desPath);
11 if (!outputFile.getParentFile().exists()) {
12 outputFile.getParentFile().exists();
13 }
14 // 调用openoffice服务线程
15 String command = "D:/openOffice/install/program/soffice.exe -headless -accept=\"socket,host=127.0.0.1,port=8100;urp;\"";
16 Process p = Runtime.getRuntime().exec(command);
17
18 // 连接openoffice服务
19 OpenOfficeConnection connection = new SocketOpenOfficeConnection(
20 "127.0.0.1", 8100);
21 connection.connect();
22
23 // 转换word到pdf
24 DocumentConverter converter = new OpenOfficeDocumentConverter(
25 connection);
26 converter.convert(inputFile, outputFile);
27
28 // 关闭连接
29 connection.disconnect();
30
31 // 关闭进程
32 p.destroy();
33 System.out.println("转换完成!");
34 }
1 @Test
2 public void testWord2Pdf() throws IOException {
3 String srcPath = "E:/test.docx";
4 String desPath = "E:/test.pdf";
5 Word2Pdf(srcPath, desPath);
6 }
下一篇:WordCount:C语言实现
文章标题:java 调用OpenOffice将word格式文件转换为pdf格式
文章链接:http://soscw.com/essay/99038.html