Java 新增 、讀取以及刪除PPT幻燈片中的視訊、音訊檔案

iceblue發表於2021-02-19

在PPT中,可以操作很多種元素,如形狀、圖形、文字、圖片、表格等,也可以插入視訊或者音訊檔案,來豐富幻燈片的內容呈現方式。下面將介紹在Java程式中如何來新增視訊、音訊檔案到PPT幻燈片,讀取和刪除幻燈片中的視訊、音訊檔案。

程式環境:匯入Spire.Presentation.jar(免費版) ;  jdk1.8.0

jar檔案匯入效果入下:

 

 

1. 新增視訊、音訊檔案到幻燈片

import com.spire.presentation.*;
import java.awt.*;

public class AddVideoAudio {
    public static void main(String[] args) throws Exception{
        //載入測試文件
        Presentation ppt = new Presentation();
        ppt.loadFromFile("test.pptx");

        //獲取第一張幻燈片
        ISlide slide = ppt.getSlides().get(0);

        //新增視訊檔案到指定位置
        slide.getShapes().appendVideoMedia("Transition.mp4",new Rectangle(550, 100, 180, 100));
        //新增音訊檔案到指定位置
        slide.getShapes().appendAudioMedia("Myheartwillgoon.mp3",620, 300, true);

        //儲存文件
        ppt.saveToFile("result.pptx",FileFormat.PPTX_2010);
    }
}

2. 獲取幻燈片中的視訊、音訊檔案

import com.spire.presentation.*;

public class ExtractVideoAudio {
    public static void main(String[]args) throws Exception{
        //載入包含視訊、音訊檔案的PPT文件
        Presentation ppt = new Presentation();
        ppt.loadFromFile("result.pptx");

        //獲取第一張幻燈片
        ISlide slide = ppt.getSlides().get(0);

        IVideo video = null;
        IAudio audio = null;

        //遍歷幻燈片中的shape,判斷是否包含視訊
        for(int i = 0; i< slide.getShapes().getCount(); i++) {
            IShape shape = slide.getShapes().get(i);
            if ((shape instanceof IVideo)) {
                //儲存視訊
                video = (IVideo) shape;
                video.getEmbeddedVideoData().saveToFile("提取的視訊" + i + ".mp4");
            }
        }
        //遍歷幻燈片中的shape,判斷是否包含音訊
        for(int j = 0; j< slide.getShapes().getCount(); j++)
        {
            IShape shape = slide.getShapes().get(j);
            //儲存音訊
            if ((shape instanceof IAudio)){
                audio =(IAudio) shape;
                audio.getData().saveToFile("提取的音訊"+ j +".mp3");
            }
        }
    }
}

3. 刪除幻燈片中的視訊、音訊檔案

import com.spire.presentation.*;

public class DeleteVideoAndAudio {
    public static void main(String[] args) throws Exception{
        //載入包含視訊、音訊檔案的PPT文件
        Presentation ppt = new Presentation();
        ppt.loadFromFile("result.pptx");

        //獲取第一張幻燈片
        ISlide slide = ppt.getSlides().get(0);

        //遍歷幻燈片中的shape,判斷是否包含視訊
        for(int i = 0; i< slide.getShapes().getCount(); i++) {
            IShape shape = slide.getShapes().get(i);
            if ((shape instanceof IVideo)) {
                //刪除視訊
                IVideo video = (IVideo) shape;
                slide.getShapes().remove(video);
            }
        }
        //遍歷幻燈片中的shape,判斷是否包含音訊
        for(int j = 0; j< slide.getShapes().getCount(); j++)
        {
            IShape shape = slide.getShapes().get(j);
            //刪除音訊
            if ((shape instanceof IAudio)){
                IAudio audio = (IAudio) shape;
                slide.getShapes().remove(audio);
            }
        }

        //儲存文件
        ppt.saveToFile("DeleteVideoAndAudio.pptx",FileFormat.PPTX_2013);
        ppt.dispose();
    }
}

 

相關文章