poi 操作 PPT,针对 PPTX--文字操作

news/2024/11/28 11:54:51/

poi 操作 PPT,针对 PPTX–文字操作

文章目录

    • poi 操作 PPT,针对 PPTX--文字操作
      • 1、获取幻灯片内的所有段落文字
      • 2、对幻灯片内的文本内容进行模板替换
      • 3、对段落新增文本

接下来对 ppt 内幻灯片的段落文字进行操作

1、获取幻灯片内的所有段落文字

幻灯片如下:

在这里插入图片描述


@Test
public void testDemo5() {String filePath = "C:\\Users\\HONOR\\Downloads\\1-201216124221\\公司简介.pptx";PPTUtil pptUtil = new PPTUtil(filePath);    // 读取 ppt 模板// 获取该幻灯片内的所有段落List<XSLFTextParagraph> paragraphs = pptUtil.getParagraphsFromSlide(pptUtil.getSlides().get(3));    for (XSLFTextParagraph paragraph : paragraphs) {if (!"".equals(paragraph.getText())) {  // 如果该段落文本不为空,则打印文本System.out.println(paragraph.getText());}}
}

点击输入您的标题
LOGO
关键词
点击添加文本 点击添加文本
点击添加文本 点击添加文本
点击添加文本 点击添加文本
点击添加文本 点击添加文本
添加标题
添加标题

2、对幻灯片内的文本内容进行模板替换

针对幻灯片内段落文本中出现标签 {**} 的内容进行替换,如下所示:

原幻灯片

在这里插入图片描述

替换后幻灯片

在这里插入图片描述

Java 代码


@Test
public void testDemo6() {// ppt 模板地址String filePath = "C:\\Users\\HONOR\\Downloads\\1-201216124221\\公司简介.pptx";// 构造数据Map<String, Object> keyMap = new HashMap<String, Object>();keyMap.put("aa", "Java 的发展历史");keyMap.put("bb", "为什么要开发 Java");keyMap.put("dd", "Java 的优势与劣势");PPTUtil pptUtil = new PPTUtil(filePath);    // 读取 ppt 模板List<XSLFTextParagraph> paragraphs = pptUtil.getParagraphsFromSlide(pptUtil.getSlides().get(9));    // 获取该幻灯片内所有段落for (XSLFTextParagraph paragraph : paragraphs) {pptUtil.replaceTagInParagraph(paragraph, keyMap);   // 对该段落中所有标签 {**} 进行替换}pptUtil.writePPT("C:\\Users\\HONOR\\Downloads\\1-201216124221\\公司简介1.pptx");
}

3、对段落新增文本

选定一个段落(XSLFTextParagraph),在其末尾添加新的文本或者重新设置文本

原幻灯片

在这里插入图片描述

/**
* 追加新的文本
*/
@Test
public void testDemo8() {String filePath = "C:\\Users\\HONOR\\Desktop\\xsmb.pptx";String exportPath = "C:\\Users\\HONOR\\Desktop\\1.pptx";PPTUtil pptUtil = new PPTUtil(filePath);List<XSLFTextParagraph> paragraphs = pptUtil.getParagraphsFromSlide(pptUtil.getSlides().get(3));pptUtil.addParagraphText(paragraphs.get(paragraphs.size() - 1), true, "新的文本");  // 在最后一个段落后面添加新的文本pptUtil.writePPT(exportPath);
}

追加文本后的幻灯片

在这里插入图片描述


/**
* 追加新的文本
*/
@Test
public void testDemo8() {String filePath = "C:\\Users\\HONOR\\Desktop\\xsmb.pptx";String exportPath = "C:\\Users\\HONOR\\Desktop\\1.pptx";PPTUtil pptUtil = new PPTUtil(filePath);List<XSLFTextParagraph> paragraphs = pptUtil.getParagraphsFromSlide(pptUtil.getSlides().get(3));pptUtil.addParagraphText(paragraphs.get(paragraphs.size() - 1), false, "新的文本");  // 在最后一个段落后面添加新的文本pptUtil.writePPT(exportPath);
}

重新设置段落文本后的幻灯片

在这里插入图片描述

当然,在设置文本的时候,你还可以设置相应的文本的属性,例如字体,字体大小,字体颜色,字体粗细等等

设置样式后的幻灯片

在这里插入图片描述


/**
* 追加新的文本
*/
@Test
public void testDemo8() {String filePath = "C:\\Users\\HONOR\\Desktop\\xsmb.pptx";String exportPath = "C:\\Users\\HONOR\\Desktop\\1.pptx";PPTUtil pptUtil = new PPTUtil(filePath);List<XSLFTextParagraph> paragraphs = pptUtil.getParagraphsFromSlide(pptUtil.getSlides().get(3));ParagraphTextStyle pts = new ParagraphTextStyle();pts.setColorHex("#ff0000");pts.setFontFamily("微软雅黑");pptUtil.addParagraphText(paragraphs.get(paragraphs.size() - 1), false, "新的文本", pts);  // 在最后一个段落后面添加新的文本,并利用文本样式对象来设置文本的属性pptUtil.addParagraphText(paragraphs.get(paragraphs.size() - 1), true, "字体加粗", true);    // 添加文本,并设置加粗文本// 或者先添加文本,再对返回的文本对象进行属性的设置XSLFTextRun textRun = pptUtil.addParagraphText(paragraphs.get(paragraphs.size() - 1), true, "下划线文本");pptUtil.setTextUnderline(textRun, true);pptUtil.writePPT(exportPath);
}

注: 本博客代码只为学习交流分享

PPTUtil 工具地址:https://gitee.com/livekeys/officetool.git
(PPTUtil 持续更新),代码有问题的地方一起交流。


http://www.ppmy.cn/news/842334.html

相关文章

php制作特效文字,PPT制作文字特效 PPT特效文字制作教程

今天的教程就是&#xff0c;教大家如何制作这样的文字。(注&#xff1a;教程在Powerpoint2013环境下完成) PPT特效文字制作教程如下所示&#xff1a; PPT特效文字制作第1步&#xff1a;下载字体。 教程里用到的字体叫做&#xff1a;POLYA Regular(这个字体貌似只支持大写英文字…

ppt文字下标怎么弄

在PPT中选择设置下标的文字。 选中文字后单击右键&#xff0c;点击【字体】 在字体页面点击【下标】&#xff0c;确定。 文字下标设置成功

ppt中将文字转变为形状和图片

1、我们想将文字或数字&#xff08;01.。&#xff09;跟形状一样做渐变色彩处理。 1&#xff09;通过文本框写 01&#xff1b; 2&#xff09;插入形状---矩形&#xff0c;完整覆盖文本 3&#xff09;框选二者&#xff0c;选择“格式”~“合并形状”~“相交”&#xff0c;这样…

PPT文字怎样做断开效果和穿透效果

PPT作为一种工具&#xff0c;在日常的工作与生活中&#xff0c;其应用范围越来越广。日常汇报、发布会等场合都少不了它的身影。但是制作PPT时&#xff0c;文字处理是一直让小伙伴们头疼的大麻烦。 今天&#xff0c;在这里iSlide给大家分享一种PPT文字设计技巧&#xff0c;让你…

AI加速财务智能化,实在智能、优贲财税、楚云科技共探数字员工新未来

作为财务发展的最新前沿&#xff0c;智能财务正在逐步渗入日常工作中&#xff0c;加快企业数字化转型步伐&#xff0c;促进我国财务信息化建设的快速发展。在当前形势下&#xff0c;企业应如何进行数字化转型以重塑业务、财务和税务等关系&#xff0c;形成管理闭环&#xff0c;…

java动态写入ppt_使用POI操作PPT文档(插入文本、图片)转

try {// 获取PPT文件 String pptModelPath =ConfigReadUtil.getInstance().getConfigItem("ppt_path"); //获取路径 FileInputStream is = new FileInputStream(pptModelPath+"2.pptx"); //读pptx存放的路径 XMLSlideShow ppt = new XMLSlideShow(is); i…

PPT批量导入文字(Python实现)

需求:目前有一份Excel表格,里面有姓名和英文名两列数据。需要根据这些数据生成200张左右的荣誉证书,放在一个pptx文件中。 表格部分截图: ppt模板截图: (上方占位符写中文名,下方写英文名) 一、基础知识 1.ppt的母版 首先新建一个pptx文件。 点击“视图->幻灯片母…

用python自动制作ppt第二讲——插入文字的两种方法和追加文字

python制作ppt,可以通过编程完成&#xff0c;实现自动办公&#xff0c;高效率完成工作&#xff0c;本讲座一共分为四讲。 1.第一讲——了解11种默认布局 2.第二讲——插入文字的两种方法和追加文字 3.第三讲——插入文本框 4.第四讲——插入图片 插入文字有两种方法&#xff0c…