Java 替换PPT中的指定文本内容
操作方法
- 01
在Java程序中导入Spire.Presentation.jar文件,如下图:
- 02
导入jar到程序后,编辑代码,如下: import com.spire.presentation.*; import java.util.HashMap; import java.util.Map; public class FindAndReplaceText { public static void main(String[] args) throws Exception{ //加载PowerPoint文档 Presentation ppt = new Presentation(); ppt.loadFromFile("input.pptx"); //获取张幻灯片 ISlide slide = ppt.getSlides().get(2); //创建Map对象 Map map = new HashMap(); //将需要被替换和用于替换的文本以键值的形式添加到Map map.put("服务","Service"); map.put("团结","Unity"); //替换幻灯片中的文本 replaceText(slide,map); //保存文档 ppt.saveToFile("ReplaceText.pptx", FileFormat.PPTX_2013); } /** * 替换指定幻灯片中的文本 * slide指定幻灯片 * map以键值的形式存储需要被替换和用于替换的文本 */ public static void replaceText(ISlide slide, Map map) { for (Object shape : slide.getShapes()) { if (shape instanceof IAutoShape) { for (Object paragraph : ((IAutoShape) shape).getTextFrame().getParagraphs()) { ParagraphEx paragraphEx = (ParagraphEx)paragraph; for (Object key : map.keySet()) { if (paragraphEx.getText().contains(key.toString())) { paragraphEx.setText(paragraphEx.getText().replace(key.toString(), map.get(key).toString())); } } } } } } }
- 03
完成代码后,执行程序,生成文档。在结果文档中可查看文本替换结果,如下图所示: