随手开发的小功能,简单记录。
pom依赖:
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>4.1.2</version> </dependency>
核心代码:
File file = new File("**\ppt.pptx"); FileInputStream inputStream = new FileInputStream(file); XMLSlideShow spSlideShow = new XMLSlideShow(inputStream); XSLFSlide slide = (XSLFSlide) spSlideShow.getSlides().get(0); List<XSLFShape> shapes = slide.getShapes(); for (XSLFShape shape : shapes) { if(shape instanceof XSLFTextBox) { XSLFTextBox box = (XSLFTextBox) shape; XDDFTextBody textBody = box.getTextBody(); CTTextBody xmlObject = textBody.getXmlObject(); CTTextParagraph pArray = xmlObject.getPArray(0); CTRegularTextRun rList = pArray.getRList().get(1); rList.setT("XX"); break; } } File outFile = new File("result.pptx"); if(!outFile.exists()) { outFile.createNewFile(); } FileOutputStream out = new FileOutputStream(outFile); spSlideShow.write(out); out.flush(); inputStream.close(); out.close();