Java用OpenOffice将word转换为PDF

本文在原文的基础上有所修改,原文请参考:

http://titanseason.iteye.com/blog/1471606 由于此blog不支持附件附件请到此处下载

http://my.oschina.NET/bigyuan/blog/165464

1. 需要用的软件

OpenOffice 下载地址http://www.openoffice.org/

JodConverter 下载地址http://sourceforge.net/projects/jodconverter/files/JODConverter/,也可以直接从附件里面下载

2.启动OpenOffice的服务

安装完openoffice,安装服务

cd C:\Program Files (x86)\OpenOffice 4\program

执行

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

查看是否安装成功,查看端口对应的pid

netstat -ano|findstr "8100"

查看pid对应的服务程序名

tasklist|findstr "pid值"

3.将JodConverter相关的jar包添加到项目中

4. 下面是实现代码

附件里面有现成的可以用的项目示例,直接导入eclipse就可以运行

 1 本文在原文的基础上有所修改,原文请参考:
 2
 3 http://titanseason.iteye.com/blog/1471606 由于此blog不支持附件附件请到此处下载
 4 http://my.oschina.NET/bigyuan/blog/165464
 5 1. 需要用的软件
 6
 7     OpenOffice 下载地址http://www.openoffice.org/
 8
 9     JodConverter 下载地址http://sourceforge.net/projects/jodconverter/files/JODConverter/,也可以直接从附件里面下载
10
11
12 2.启动OpenOffice的服务
13
14
15 安装完openoffice,安装服务
16
17 cd C:\Program Files (x86)\OpenOffice 4\program
18
19 执行
20
21 soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
22
23 查看是否安装成功,查看端口对应的pid
24
25     netstat -ano|findstr "8100"
26
27  查看pid对应的服务程序名
28
29     tasklist|findstr "pid值"
30
31
32 3.将JodConverter相关的jar包添加到项目中
33
34 4. 下面是实现代码
35 附件里面有现成的可以用的项目示例,直接导入eclipse就可以运行
36
37 [java] view plain copy
38 /**
39      * 将Office文档转换为PDF. 运行该函数需要用到OpenOffice, OpenOffice下载地址为
40      * http://www.openoffice.org/
41      *
42      * <pre>
43      * 方法示例:
44      * String sourcePath = "F:\\office\\source.doc";
45      * String destFile = "F:\\pdf\\dest.pdf";
46      * Converter.office2PDF(sourcePath, destFile);
47      * </pre>
48      *
49      * @param sourceFile
50      *            源文件, 绝对路径. 可以是Office2003-2007全部格式的文档, Office2010的没测试. 包括.doc,
51      *            .docx, .xls, .xlsx, .ppt, .pptx等. 示例: F:\\office\\source.doc
52      * @param destFile
53      *            目标文件. 绝对路径. 示例: F:\\pdf\\dest.pdf
54      * @return 操作成功与否的提示信息. 如果返回 -1, 表示找不到源文件, 或url.properties配置错误; 如果返回 0,
55      *         则表示操作成功; 返回1, 则表示转换失败
56      */
57     public static int office2PDF(String sourceFile, String destFile) {
58         try {
59             File inputFile = new File(sourceFile);
60             if (!inputFile.exists()) {
61                 return -1;// 找不到源文件, 则返回-1
62             }
63
64             // 如果目标路径不存在, 则新建该路径
65             File outputFile = new File(destFile);
66             if (!outputFile.getParentFile().exists()) {
67                 outputFile.getParentFile().mkdirs();
68             }
69
70             // connect to an OpenOffice.org instance running on port 8100
71             OpenOfficeConnection connection = new SocketOpenOfficeConnection(
72                     "127.0.0.1", 8100);
73             connection.connect();
74
75             // convert
76             DocumentConverter converter = new OpenOfficeDocumentConverter(
77                     connection);
78             converter.convert(inputFile, outputFile);
79
80             // close the connection
81             connection.disconnect();
82
83             return 0;
84         } catch (FileNotFoundException e) {
85             e.printStackTrace();
86             return -1;
87         } catch (ConnectException e) {
88             e.printStackTrace();
89         } catch (IOException e) {
90             e.printStackTrace();
91         }
92
93         return 1;
94     }  
时间: 2025-01-04 06:43:38

Java用OpenOffice将word转换为PDF的相关文章

百度文库的实现——java利用openoffice,word转pdf

百度文库的主要功能就是将上传的word文档,转码成pdf格式再展示出来.其中有四种方法可以实现这样的操作: 方法一:用apache pio 读取doc文件,然后转成html文件用Jsoup格式化html文件,最后用itext将html文件转成pdf. 方法2:使用jdoctopdf来实现,这是一个封装好的包,可以把doc转换成pdf,html,xml等格式,调用很方便需要注意中文字体的写入问题. 方法3:使用jodconverter来调用openOffice的服务来转换,openOffice有个

C#,VB.NET如何将Word转换为PDF和Text

众所周知,Word是我们日常工作中常用的办公软件之一,有时出于某种需求我们需要将Word文档转换为PDF以及Text.那么如何以C#,VB.NET编程的方式来实现这一功能呢? 下面我将分开介绍如何运用免费版的Spire.Doc for .NET组件来实现Word到PDF以及Text的转换. Free Spire.Doc for .NET组件概述 Free Spire.Doc for .NET 是Spire.Doc for .NET的免费版,它是一款完全免费且可供商业和个人使用的Word组件.通过

UiPath之Word转换为PDF

前几天在手机上看到其他的文章,里面提到如何将Word转换为PDf,在UiPath的ManagePackage中,下载一个WordToPDF的包, 我按照上面的方法试着做了一下,但是在转换的时候很不稳定,总是出现“RPC服务器不可用”,为了解决这个问题,又跑去问了度娘半天,发现按照度娘提供的方法,还是解决不了问题,干脆换一个思路来实现. 关注过我的朋友,会发现前面我有发过一篇如何将Execl转换为PDF,里面有提到用InvokePowerShell,那么这次我们继续来讨论如何使用PowerShel

openoffice excel word 转换pdf

OpenOffice.org 是一套跨平台的办公室软件套件,能在Windows.Linux.MacOS X (X11)和 Solaris 等操作系统上执行.它与各个主要的办公室软件套件兼容.OpenOffice.org 是自由软件,任何人都可以免费下载.使用及推广它. 目前我已经测试过excel转换pdf已测试成功,word暂时没去测试,理论上是可以转换.因为原理都是调用openoffice的转换pdf功能. openoffice会自动判断源文件类型和目标文件类型. 工具类支持本地转换和远程调用

在Java中如何操作word, excel, pdf文件

java操作word,excel,pdf 在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下java对word.excel.pdf文件的读取.本篇博客只是讲解简单应用.如果想深入了解原理.请读者自行研究一些相关源码. 首先我们来认识一下读取相关文档的jar包: 1. 引用POI包读取word文档内容 poi.jar 下载地址 http://apache.freelamp.com/poi/release/bin/poi-

word转PDF,PDF转Image,使用oppenOffice注意事项等

最近在电子合同等项目中需要把word或者pdf转换成image,用到了openOffice把word转换pdf,以及把pdf转换成图片 感谢小伙伴张国清花费了三天时间来实现了此功能.下面我将把具体的步骤和注意事项说明.防止重复造轮子,最后我会把我的demo工程,以及对应的jar等发送到百度云.提供各位下载 一.首先,列出maven依赖以及jar包 <!--PDF转图片--> <dependency> <groupId>org.icepdf.os</groupId&

在Ubuntu环境把PPT和Word转换为swf文件

项目需要一个在线浏览文档的功能,于是参照网上的代码写了一份利用Microsoft Office 2010和swftools-2013-04-09-1007.exe转换的程序 思路:调用电脑本机的office组件把ppt或者word转换为pdf文件,接着调用pdf2swf应用把pdf文件转换为swf. 参考:http://www.cnblogs.com/luckyxiaoxuan/archive/2012/06/15/2550303.html 但由于目前项目组没有windows的服务器,于是想着试

java实现word转pdf在线预览(前端使用PDF.js;后端使用openoffice、aspose)

背景 之前一直是用户点击下载word文件到本地,然后使用office或者wps打开.需求优化,要实现可以直接在线预览,无需下载到本地然后再打开. 随后开始上网找资料,网上资料一大堆,方案也各有不同,大概有这么几种方案: 1.word转html然后转pdf 2.Openoffice + swftools + Flexmapper + jodconverter 3.kkFileView 分析之后最后决定使用Openoffice+PDF.js方式实现 环境搭建 1.安装Openoffice,下载地址:

Java 将Word文档转换为PDF

前言 本文将介绍如何使用免费Java Word组件Free Spire.Doc for Java在Java应用程序中将Word文档转换到PDF格式.Free Spire.Doc for Java在转换过程中能够识别中文字符并支持丰富的word文档元素:文本框.页眉.页脚.项目符号和编号.表格.文本.超链接.水印.图片.形状等. Free Spire.Doc for Java概述 Free Spire.Doc for Java 是由E-iceblue公司开发的一个免费的Java Word API,