用Java实现PPT转换成PDF的一种方式--openoffice的使用

此文章为2016-09-20 17:19:18,本人于网易博客所写,今日搬迁到此。

今天必须要写篇日志记录此刻的心情,因为在搜集众多资料后,终于实现了这一功能。

最近在做的一个项目需要在网页中播放PPT文件,思考良久并没有想出很好的解决方案,最后决定先将PPT文件转换成PDF文件,再嵌入网页中(具体怎么实现在网页中播放PDF文件,网上有很多解决方案,在这里就不再赘述)。废话不多说,直接进入正题。

1、安装openoffice并启动服务

吐槽:同样是在网上Ctrl+C,但看到很多文章一点都不负责,少了很多东西也不经过自己亲身实践就Ctrl+V粘贴上来)

亲身使用的openoffice(4.1.2地址: https://download.csdn.net/download/u010188178/10741813 

用命令启动服务:

 cd C:\Program Files (x86)\OpenOffice 4\program   (根据自己安装目录决定)
         soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard 

2、依赖jodconverter包

吐槽:相信认真读此文章的朋友都技术牛人,因此小弟也不说太多的废话,尽量整得干一点)

用maven依赖:

<dependency>

    <groupId>com.github.livesense</groupId>

    <artifactId>jodconverter-core</artifactId>

    <version>1.0.5</version>

</dependency>

 

3、编码实现转换方法

package com.server.common.util;

 

import java.io.File;

 

import org.artofsolving.jodconverter.OfficeDocumentConverter;

import org.artofsolving.jodconverter.office.ExternalOfficeManagerConfiguration;

import org.artofsolving.jodconverter.office.OfficeConnectionProtocol;

import org.artofsolving.jodconverter.office.OfficeManager;

 

public class PPT_2_PDF_Util {

 /**

 * ppt转pdf

 * @param inputFile 输入文件

 * @param outputFile 输出文件

 * @author ServerZhang

 * @date 2016年9月20日

 */

public static void ppt2PDF(File inputFile, File outputFile) {

    // 如果目标路径不存在, 则新建该路径

    if (!outputFile.getParentFile().exists()) {

        outputFile.getParentFile().mkdirs();

    }

 

    // convert

    ExternalOfficeManagerConfiguration configuration = 

                   new ExternalOfficeManagerConfiguration();

    configuration.setConnectionProtocol(OfficeConnectionProtocol.SOCKET);

    configuration.setPortNumber(8100);

    OfficeManager officeManager= configuration

                        .buildOfficeManager();

    OfficeDocumentConverter converter = 

                 new OfficeDocumentConverter(officeManager);

    converter.convert(inputFile, outputFile);

}

}

 

4、写个简单的测试代码

File inputFile = new File("D:/PPT_test/欧洲杯球服配色.pptx");

File outputFile = new File("D:/PPT_test/欧洲杯球服配色.pdf");

PPT_2_PDF_Util.ppt2PDF(inputFile, outputFile);

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值