合并 ppt

合并ppt (要解决格式需要购买专业的jar包,下面一种免费的格式处理不了,一种收费的可以处理格式问题)
代码(不处理格式)

package com.baic.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 合并ppt
 * 
 * @author wyh
 *
 */
public class PPTMergeUtils {

	private static Logger logger = LoggerFactory.getLogger(PPTMergeUtils.class);

	/**
	 * 合并连个ppt为一个
	 * 
	 * @param filePath1
	 *            第一个ppt
	 * @param filePath2
	 *            第二个ppt
	 * @param filePath3
	 *            合并后的ppt
	 */
	public static void mergePPt(String filePath1, String filePath2, String filePath3) {
		try {
			// creating empty presentation
			XMLSlideShow ppt = new XMLSlideShow();
			// taking the two presentations that are to be merged
			String[] inputs = { filePath1, filePath2 };
			for (String arg : inputs) {
				FileInputStream inputstream = new FileInputStream(arg);
				XMLSlideShow src = new XMLSlideShow(inputstream);
				for (XSLFSlide srcSlide : src.getSlides()) {
					// merging the contents
					ppt.createSlide().importContent(srcSlide);
				}
			}
			FileInputStream inputstream = new FileInputStream(filePath1);
			XMLSlideShow src = new XMLSlideShow(inputstream);
			// 删除第一个文件
			new File(filePath1).delete();
			// 删除第二个文件
			new File(filePath2).delete();
			// creating the file object
			FileOutputStream out = new FileOutputStream(filePath3);
			// saving the changes to a file
			ppt.write(out);
			out.close();
		} catch (IOException e) {
			logger.error("合并ppt", e);
		}
	}
}

代码(处理格式)

package com.ebon.hello.controller;

import com.spire.presentation.*;

public class HeBingPPt {
    public static void main(String[] args) throws Exception{
        //加载文档1,文档2
        Presentation ppt1 = new Presentation();
        ppt1.loadFromFile("D://template//b.pptx");
        Presentation ppt2 = new Presentation();
        ppt2.loadFromFile("D://template//a.pptx");

        //遍历文档1的所有幻灯片,添加到文档2
        for(int i = 0;i<ppt1.getSlides().getCount();i++){
            ppt2.getSlides().append(ppt1.getSlides().get(i));
        }

        //保存文档2
        ppt2.saveToFile("D://template//c.pptx",FileFormat.PPTX_2013);
        ppt2.dispose();
    }
}

包导入(只能免费合并10张)

<repositories>
    <repository>
         <id>com.e-iceblue</id>
         <name>e-iceblue</name>
         <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
     </repository>
</repositories>

<dependency>
  <groupId>e-iceblue</groupId>
    <artifactId>spire.presentation.free</artifactId>
    <version>2.6.1</version>
</dependency>

jar包官网:(https://www.e-iceblue.cn/licensing/install-spirepdf-for-java-from-maven-repository.html)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值