欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java 合并、拆分PPT幻灯片

程序员文章站 2022-03-25 15:17:13
...

本文将介绍在Java程序中如何来合并及拆分PPT文档的方法。示例大纲:

1. 合并

1.1 将指定幻灯片合并到文档

1.2 合并多个幻灯片文档为一个文档

2. 拆分

2.1 按幻灯片每一页单独拆分为一个文档

2.2 按指定幻灯片页数范围来拆分为多个文档

使用工具Free Spire.Presentation for Java (免费版)

获取方法及jar文件导入:

 

方法1通过官网下载。下载后,解压文件。将lib文件下的Spire.Presentation.jar文件导入java程序即可。如下导入效果:

Java 合并、拆分PPT幻灯片
            
    
    博客分类: Java PPT javaSpire.Presentation for JavaPPT合并、拆分maven 
 方法2通过maven导入,参考导入方法

两个PPT测试文档如下:

Java 合并、拆分PPT幻灯片
            
    
    博客分类: Java PPT javaSpire.Presentation for JavaPPT合并、拆分maven 
 

1. 合并

 

 1.1 将指定幻灯片合并到文档

import com.spire.presentation.*;

public class MergeFiles1 {
    public static void main(String[] args) throws Exception{
        //加载文档1,获取第三张幻灯片
        Presentation ppt1 = new Presentation();
        ppt1.loadFromFile("test1.pptx");
        ISlide slide = ppt1.getSlides().get(2);

        //加载文档2,将文档1中获取的幻灯片作为第二张插入到文档2
        Presentation ppt2 = new Presentation();
        ppt2.loadFromFile("test2.pptx");
        int index = 1;
        ppt2.getSlides().insert(index,slide);

        //保存文档2
        ppt2.saveToFile("merge1.pptx",FileFormat.PPTX_2013);
        ppt2.dispose();
    }
}

 合并效果:

Java 合并、拆分PPT幻灯片
            
    
    博客分类: Java PPT javaSpire.Presentation for JavaPPT合并、拆分maven 
 

1.2 合并多个幻灯片为一个文档

import com.spire.presentation.*;

public class MergeFiles2 {
    public static void main(String[] args)throws  Exception {
        //加载文档1,文档2
        Presentation ppt1 = new Presentation();
        ppt1.loadFromFile("test1.pptx");
        Presentation ppt2 = new Presentation();
        ppt2.loadFromFile("test2.pptx");

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

        //保存文档2
        ppt2.saveToFile("merge2.pptx",FileFormat.PPTX_2013);
        ppt2.dispose();
    }
}

 合并效果:

Java 合并、拆分PPT幻灯片
            
    
    博客分类: Java PPT javaSpire.Presentation for JavaPPT合并、拆分maven 
 

2. 拆分

 2.1 按幻灯片每一页来拆分

import com.spire.presentation.*;

public class Split1 {
    public static void main(String[] args)throws Exception {
        //加载测试文档1
        Presentation ppt1 = new Presentation();
        ppt1.loadFromFile("test1.pptx");

        //遍历文档1
        for (int i = 0; i < ppt1.getSlides().getCount(); i++) {
            //新建一个PPT文档,并移除默认生成的第一页幻灯片
            Presentation newppt = new Presentation();
            newppt.getSlides().removeAt(0);
            //将每一页添加到新建的文档,并保存
            newppt.getSlides().append(ppt1.getSlides().get(i));
            newppt.saveToFile(String.format("单页拆分-%1$s.pptx", i), FileFormat.PPTX_2013);
        }
    }
}

 拆分结果:

Java 合并、拆分PPT幻灯片
            
    
    博客分类: Java PPT javaSpire.Presentation for JavaPPT合并、拆分maven 
 

 2.2 按指定幻灯片页数范围来拆分

import com.spire.presentation.*;

public class Split2 {
    public static void main(String[] args) throws Exception{
        //加载文档1
        Presentation ppt1 = new Presentation();
        ppt1.loadFromFile("test1.pptx");

        //新建文档1,移除默认生成的第一页幻灯片
        Presentation newppt1 = new Presentation();
        newppt1.getSlides().removeAt(0);
        //将文档1中的第一、二页添加到新建的文档1,并保存
        for (int i = 0; i < 2; i++)
        {
            newppt1.getSlides().append(ppt1.getSlides().get(i));
        }
        newppt1.saveToFile(String.format("拆分1.pptx"), FileFormat.PPTX_2013);

        //新建文档2,移除默认生成的第一页幻灯片
        Presentation newppt2 = new Presentation();
        newppt2.getSlides().removeAt(0);
//将文档2中的第三、四页添加到新建的文档2,并保存
        for(int j = 2;j < 4;j++){
            newppt2.getSlides().append(ppt1.getSlides().get(j));
        }
        newppt2.saveToFile(String.format("拆分2.pptx"), FileFormat.PPTX_2013);
    }
}

 拆分结果:

Java 合并、拆分PPT幻灯片
            
    
    博客分类: Java PPT javaSpire.Presentation for JavaPPT合并、拆分maven 
 

(本文完)

 

  • Java 合并、拆分PPT幻灯片
            
    
    博客分类: Java PPT javaSpire.Presentation for JavaPPT合并、拆分maven 
  • 大小: 29.2 KB
  • Java 合并、拆分PPT幻灯片
            
    
    博客分类: Java PPT javaSpire.Presentation for JavaPPT合并、拆分maven 
  • 大小: 98.5 KB
  • Java 合并、拆分PPT幻灯片
            
    
    博客分类: Java PPT javaSpire.Presentation for JavaPPT合并、拆分maven 
  • 大小: 131.2 KB
  • Java 合并、拆分PPT幻灯片
            
    
    博客分类: Java PPT javaSpire.Presentation for JavaPPT合并、拆分maven 
  • 大小: 113.5 KB
  • Java 合并、拆分PPT幻灯片
            
    
    博客分类: Java PPT javaSpire.Presentation for JavaPPT合并、拆分maven 
  • 大小: 69.8 KB
  • Java 合并、拆分PPT幻灯片
            
    
    博客分类: Java PPT javaSpire.Presentation for JavaPPT合并、拆分maven 
  • 大小: 79.1 KB