Java 高亮和替换PPT幻灯片中的指定文本_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java 高亮和替换PPT幻灯片中的指定文本

Java 高亮和替换PPT幻灯片中的指定文本

 2021/2/26 12:39:21  Miaonly  程序员俱乐部  我要评论(0)
  • 摘要:本文通过Java代码示例介绍如何来高亮和替换PPT幻灯片中的指定文本内容。程序环境:编译环境为IntelliJIDEA,引入Spire.Presentation.jar3.9.0,JDK版本为1.8.0;示例1:高亮PPT中的指定文本importcom.spire.presentation.*;importjava.awt.*;publicclassFindAndHighlightText{publicstaticvoidmain(String[]args)throwsException
  • 标签:ppt Java

本文通过Java代码示例介绍如何来高亮和替换PPT幻灯片中的指定文本内容。

程序环境:编译环境为IntelliJ IDEA,引入Spire.Presentation.jar 3.9.0,JDK版本为1.8.0;

示例1:高亮PPT中的指定文本

class="java" name="code">import com.spire.presentation.*;
import java.awt.*;

public class FindAndHighlightText {
    public static void main(String[]args) throws  Exception{
        //加载PowerPoint文档
        Presentation ppt = new Presentation();
        ppt.loadFromFile("input.pptx");

        //获取张幻灯片
        ISlide slide = ppt.getSlides().get(2);

        //遍历所有形状
        for (Object shape : slide.getShapes())
        {
            if (shape instanceof IAutoShape)
            {
                //设置文本高亮选项
                TextHighLightingOptions options = new TextHighLightingOptions();
                options.setWholeWordsOnly(false);
                options.setCaseSensitive(true);

                //使用hightLightText()方法高亮形状中的指定文本
                ((IAutoShape) shape).getTextFrame().highLightText("原创" , Color.yellow, options);
            }
        }

        //保存结果文档
        ppt.saveToFile("HighlightSpecifiedText.pptx", FileFormat.PPTX_2013);
        ppt.dispose();
    }
}

?

示例2:替换PPT中的指定文本

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

    }
}

?

需要注意的是:程序代码中的源文档及结果文档路径为IDEA项目文件夹路径,文件路径可自定义

?

?

(本文完)

发表评论
用户名: 匿名