方法如下:
1、在Java程序中导入Spire.Presentation.jar文件,如下图:
2、导入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())); } } } } } }}
3、完成代码后,执行程序,生成文档。在结果文档中可查看文本替换结果,如下图所示: