Java 替换PPT中的指定文本内容

来源:特殊符号大全 作者:游戏符号 95 次查看

工具/材料

IntelliJ IDEA

JDK 1.8.0

Spire.Presentation.jar 3.9.0

操作方法

  • 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

    完成代码后,执行程序,生成文档。在结果文档中可查看文本替换结果,如下图所示:

  • End

特别提示

代码中的PPT源文档及生成的结果文档均保存在IDEA项目文件夹下,文件路径可以自行定义。