Java 替换PPT中的指定文本

本文以Java程序代码为例介绍如何来替换PPT幻灯片中的指定文本。编译环境为IDEA,程序中引入Spire.Presentation. jar,jdk版本为1.8.0。

 

详细代码如下:

 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()));
                         }
                     }
                 }
             }
         }
 
     }
 }

指定文本前后替换效果对比,如图:



请使用浏览器的分享功能分享到微信等