win下使用OpenOffice

需求:word文档转pdf
项目环境:window10 ;java jdk1.8 ; jodconverter 2.2.1
实现:OpenOffice
由于没用过,直接网上找了个实现方法:如下:
pom依赖:

	<dependency>
	    <groupId>com.artofsolving</groupId>
	    <artifactId>jodconverter</artifactId>
	    <version>2.2.1</version>
    </dependency>

java实现

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 static void main(String[] args) throws IOException {
		
		office2PDF("D:\\备份\\demo.docx","D:\\备份\\demo.pdf");
		
		
}

	/**
	 * 文档转pdf
	 * @param sourceFile 源文件全路径
	 * @param destFile 转换后的目标文件全路径
	 * @return 失败:-1;成功:0
	 */
	public static int office2PDF(String sourceFile, String destFile){  
        try {
            File inputFile = new File(sourceFile);  
            if (!inputFile.exists()) {
                return -1;
            }

            File outputFile = new File(destFile);
            if (!outputFile.getParentFile().exists()) {
                outputFile.getParentFile().mkdirs();
            }
            
            OpenOfficeConnection connection = new SocketOpenOfficeConnection("127.0.0.1", 8100);
            connection.connect();

            // convert  
            DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
            converter.convert(inputFile, outputFile);

            // close the connection
            connection.disconnect();

            return 0;
        } catch (Exception e){
            e.printStackTrace();
            return -1;
        }  
    } 

这样直接运行了,直接就异常了,意思是连不上服务,因为开始并不知道要先安装OpenOffice服务,启动,再运行代码的

java.net.ConnectException: connection failed: socket,host=192.168.61.1,port=8100,tcpNoDelay=1: java.net.ConnectException: Connection refused: connect
	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.connect(AbstractOpenOfficeConnection.java:79)
	at data.jq.util.WordUtils.office2PDF(WordUtils.java:148)

经过各种查找方法,才知道要安装OpenOffice服务,那就安装吧。openoffice下载地址:openoffice下载地址,选择安装位置,就一步步安装吧,安装完后,桌面生成快捷方式,快捷方式,右键,属性,查看安装位置,cmd进入至安装目录,执行以下命令:

cd  C:\Program Files (x86)\OpenOffice 4\program
# 执行此命令后,服务启动
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

再运行代码,可以连接上服务了。

上一篇:win系统下 由于管理员设置的策略,该磁盘处于脱机状态"解决办法


下一篇:win-server 开机启动vm虚拟机,启动虚拟机,linux脚本自动启动