java如何操作ppt
操作PPT的Java库
Apache POI是Java操作Office文档的主流库,支持PPT文件的读写。需要引入poi-ooxml依赖,最新版本可通过Maven或Gradle获取。
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
创建新PPT文件
使用XMLSlideShow类创建空白演示文稿,通过XSLFSlide添加幻灯片,XSLFTextShape添加文本框:
XMLSlideShow ppt = new XMLSlideShow();
XSLFSlide slide = ppt.createSlide();
XSLFTextBox textBox = slide.createTextBox();
textBox.setText("Hello World");
读取现有PPT
通过文件流加载PPT文件,遍历幻灯片获取内容:

FileInputStream fis = new FileInputStream("presentation.pptx");
XMLSlideShow ppt = new XMLSlideShow(fis);
for (XSLFSlide slide : ppt.getSlides()) {
for (XSLFShape shape : slide.getShapes()) {
if (shape instanceof XSLFTextShape) {
System.out.println(((XSLFTextShape) shape).getText());
}
}
}
添加图片到幻灯片
使用XSLFPictureData插入图片,需指定图片字节数据和格式:
byte[] pictureData = Files.readAllBytes(Paths.get("image.png"));
int pictureIdx = ppt.addPicture(pictureData, PictureData.PictureType.PNG);
XSLFPictureShape picture = slide.createPicture(pictureIdx);
设置文本样式
通过XSLFTextRun调整字体、颜色等属性:

XSLFTextParagraph paragraph = textBox.addNewTextParagraph();
XSLFTextRun run = paragraph.addNewTextRun();
run.setText("Formatted Text");
run.setFontColor(Color.RED);
run.setFontSize(24.0);
保存PPT文件
最终通过输出流保存修改后的文件:
FileOutputStream fos = new FileOutputStream("output.pptx");
ppt.write(fos);
fos.close();
ppt.close();
高级功能
支持表格创建、动画效果、母版修改等功能。例如创建表格:
XSLFTable table = slide.createTable();
table.addRow().addCell().setText("Header");
对于复杂操作建议参考Apache POI官方文档,处理大文件时需注意内存管理。






