使用 java 合并多个 PPTs】
原文:https://www . geesforgeks . org/merging-multi-ppts-using-Java/
使用 Java 合并多个 PowerPoint 演示文稿文件。要实现这一点,请使用一个名为 Apache POI 的 Java 库。Apache POI 是由 Apache 软件基金会运营的项目,之前是雅加达项目的子项目,提供纯 Java 库,用于读写 Microsoft Office 格式的文件,如 Word、PowerPoint 和 Excel。使用 Apache 指南为视窗/Linux 系统安装 Apache 兴趣点库。
示例:
Input : file1.pptx, file2.pptx
Output: merged.pptx
Input : file1.pptx file2.pptx file3.pptx
Output: merged.pptx
输入文件:
file1.pptx
file2.pptx
输出文件:
merged.pptx
进场:
- 获取当前工作目录路径并列出所有演示文件
- 使用 apache POI 包中的 XMLSlideShow 创建一个空的演示对象
- 遍历列表中的每个演示文件,并将幻灯片追加到空的演示对象中
- 保存新的合并演示文件
下面是上述方法的实现:
Java 语言(一种计算机语言,尤用于创建网站)
// Merging Multiple PPTs using java
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.File;
import java.util.*;
// importing apache POI environment packages
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
public class MergePPT {
public static void main(String args[])
throws IOException
{
// creating empty presentation
XMLSlideShow ppt = new XMLSlideShow();
String path = System.getProperty("user.dir");
// getting path of current working directory
File file = new File(path);
// creating empty file using File object
String[] fileList = file.list();
// returns an array of all files from current
// working directory
ArrayList<String> presentationList
= new ArrayList<String>();
for (String str : fileList) {
if (str.contains(".pptx"))
presentationList.add(str);
}
// filtering all presentation file paths and
// appending to presentationList
if (presentationList.isEmpty() == false) {
for (String arg : presentationList) {
FileInputStream inputstream
= new FileInputStream(arg);
// getting current presentation file path in
// a FileInputStream
XMLSlideShow src
= new XMLSlideShow(inputstream);
// getting all the slides of the
// presentation file in a XMLSlideShow
// object
for (XSLFSlide srcSlide : src.getSlides()) {
ppt.createSlide().importContent(
srcSlide);
// appending each presentation slide to
// empty presentation object ppt
}
}
String mergedFile = path + "/merged.pptx";
// creating new file path
FileOutputStream out
= new FileOutputStream(mergedFile);
// creating the file object
ppt.write(out);
// saving the changes to the new file
System.out.println(
"All files merged successfully!");
out.close();
}
else
System.out.println(
"No Presentation files found in current directory!");
}
}
输出:
输出
版权属于:月萌API www.moonapi.com,转载请注明出处