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

XMLSlideShow ppt = new XMLSlideShow(is);

is.close();

for (XSLFSlide slide : ppt.getSlides()) {
                // 获取每一张幻灯片中的shape
                for (XSLFShape shape : slide.getShapes()) {
                    Rectangle2D anchor = shape.getAnchor();
                    if (shape instanceof XSLFTextShape) {
                        XSLFTextShape txShape = (XSLFTextShape) shape;
                        if (txShape.getText().contains("{time}")) {
                            // 替换文字内容
                            txShape.setText(txShape.getText().replace(
                                    "{time}", time1));
                        }else if (txShape.getText().contains("{eight}")) {
                            // 替换文字内容
                            txShape.setText(txShape.getText().replace(
                                    "{eight}", finalTime));
                        }else if (txShape.getText().contains("{pic}")) {  //替换图片
                             byte[] pictureData = IOUtils.toByteArray(new FileInputStream("C:\\Users\\gls\\Desktop\\1.jpg"));
                             int idx = ppt.addPicture(pictureData,XSLFPictureData.PICTURE_TYPE_PNG);
                            XSLFPictureShape pic = slide.createPicture(idx);
                             // 设置XSLFPictureShape的位置信息
                             pic.setAnchor(anchor);
                             // 移除XSLFTextShape
                             slide.removeShape(txShape);
                        }
                        else if (txShape.getText().contains("{today}")) {
                            // 替换文字内容
                            txShape.setText(txShape.getText().replace(
                                    "{today}", firstTime));
                        } else if (txShape.getText().contains("{tomorrow}")) {
                            // 替换文字内容
                            txShape.setText(txShape.getText().replace(
                                    "{tomorrow}", secondTime));
                        }else if (txShape.getText().contains("{the day after tomorrow}")) {
                            // 替换文字内容
                            txShape.setText(txShape.getText().replace(
                                    "{the day after tomorrow}", thirdTime));
                        }
                        else if (txShape.getText().contains("{dwfirstRain}")) {
                            // 替换文字内容
                            txShape.setText(txShape.getText().replace(
                                    "{dwfirstRain}", dwfirstRain));
                        } else if (txShape.getText().contains("{psfirstRain}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{psfirstRain}", psfirstRain));
                        } else if (txShape.getText().contains("{dwsecondRain}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{dwsecondRain}",dwsecondRain));
                        } else if (txShape.getText().contains("{pssecondRain}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{pssecondRain}", pssecondRain));
                        } else if (txShape.getText().contains("{dwthirdRain}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{dwthirdRain}",dwthirdRain));
                        } else if (txShape.getText().contains("{psthirdRain}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{psthirdRain}",psthirdRain));
                        } else if (txShape.getText().contains("{dwFirstphenomena}")) {
                            txShape.setText(txShape.getText().replace("{dwFirstphenomena}",
                                    dwFirstphenomena));
                        } else if (txShape.getText().contains("{psFirstphenomena}")) {
                            txShape.setText(txShape.getText().replace("{psFirstphenomena}",
                                    psFirstphenomena));
                        } else if (txShape.getText().contains("{dwSecondphenomena}")) {
                            txShape.setText(txShape.getText().replace("{dwSecondphenomena}",
                                    dwSecondphenomena));
                        } else if (txShape.getText().contains("{psSecondphenomena}")) {
                            txShape.setText(txShape.getText().replace("{psSecondphenomena}",
                                    psSecondphenomena));
                        } else if (txShape.getText().contains("{dwThirdphenomena}")) {
                            txShape.setText(txShape.getText().replace("{dwThirdphenomena}",
                                    dwThirdphenomena));
                        } else if (txShape.getText().contains("{psThirdphenomena}")) {
                            txShape.setText(txShape.getText().replace("{psThirdphenomena}",
                                    psThirdphenomena));
                        } else if (txShape.getText().contains("{dwfirstMaxTemp}")) {
                            txShape.setText(txShape.getText().replace("{dwfirstMaxTemp}",
                                    dwfirstMaxTemp));
                        } else if (txShape.getText().contains("{psfirstMaxTemp}")) {
                            txShape.setText(txShape.getText().replace("{psfirstMaxTemp}",
                                    psfirstMaxTemp));
                        } else if (txShape.getText().contains("{dwsecondMaxTemp}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{dwsecondMaxTemp}", dwsecondMaxTemp));
                        }else if (txShape.getText().contains("{pssecondMaxTemp}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{pssecondMaxTemp}", pssecondMaxTemp));
                        }else if (txShape.getText().contains("{dwthirdMaxTemp}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{dwthirdMaxTemp}", dwthirdMaxTemp));
                        }else if (txShape.getText().contains("{psthirdMaxTemp}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{psthirdMaxTemp}", psthirdMaxTemp));
                        }else if (txShape.getText().contains("{dwfirstMinTemp}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{dwfirstMinTemp}", dwfirstMinTemp));
                        }else if (txShape.getText().contains("{psfirstMinTemp}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{psfirstMinTemp}", psfirstMinTemp));
                        }else if (txShape.getText().contains("{dwsecondtMinTemp}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{dwsecondtMinTemp}", dwsecondtMinTemp));
                        }else if (txShape.getText().contains("{pssecondMinTemp}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{pssecondMinTemp}", pssecondMinTemp));
                        }else if (txShape.getText().contains("{dwthirdMinTemp}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{dwthirdMinTemp}", dwthirdMinTemp));
                        }else if (txShape.getText().contains("{psthirdMinTemp}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{psthirdMinTemp}", psthirdMinTemp));
                        }else if (txShape.getText().contains("{dwWindDAndV}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{dwWindDAndV}", dwWindDAndV));
                        }else if (txShape.getText().contains("{psWindDAndV}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{psWindDAndV}", psWindDAndV));
                        }else if (txShape.getText().contains("{dwSeaWindDAndV}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{dwSeaWindDAndV}", dwSeaWindDAndV));
                        }else if (txShape.getText().contains("{psSeaWindDAndV}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{psSeaWindDAndV}", psSeaWindDAndV));
                        }else if (txShape.getText().contains("{zyPSMaxTemp}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{zyPSMaxTemp}", zyPSMaxTemp));
                        }else if (txShape.getText().contains("{zyPSMinTemp}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{zyPSMinTemp}", zyPSMinTemp));
                        }else if (txShape.getText().contains("{zyPSPhoenomena}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{zyPSPhoenomena}", zyPSPhoenomena));
                        }else if (txShape.getText().contains("{zyPSWindD}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{zyPSWindD}", zyPSWindD));
                        }else if (txShape.getText().contains("{zyPSWindV}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{zyPSWindV}", zyPSWindV));
                        }else if (txShape.getText().contains("{zyDWMaxTemp}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{zyDWMaxTemp}", zyDWMaxTemp));
                        }else if (txShape.getText().contains("{zyDWMinTemp}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{zyDWMinTemp}", zyDWMinTemp));
                        }else if (txShape.getText().contains("{zyDWPhoenomena}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{zyDWPhoenomena}", zyDWPhoenomena));
                        }else if (txShape.getText().contains("{zyDWWindD}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{zyDWWindD}", zyDWWindD));
                        }else if (txShape.getText().contains("{zyDWWindV}")) {
                            txShape.setText(txShape.getText().replace(
                                    "{zyDWWindV}", zyDWWindV));
                        }
                    }  else if (shape instanceof XSLFPictureShape) {
                        XSLFPictureShape pShape = (XSLFPictureShape) shape;
                        XSLFPictureData pData = pShape.getPictureData();
                    } else {
                        System.out.println("Process me: " + shape.getClass());
                    }
                }
            }

Object user = ServletActionContext.getRequest().getSession()
                    .getAttribute(ResourceUtil.getSessionInfoName());
            Date date = new Date();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
            SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd");
            String fileTime = sdf.format(date);
            String time= s.format(date);
             String filePath =ConfigReadUtil.getInstance().getConfigItem("FileSavePath");
        //    String filePath = "D:\\Conference";
            filePath = filePath.replace("\\", "\\\\");

File dir = new File(filePath);
            if(!dir.exists()){
                dir.mkdirs();
            }
            String path = dir.getPath();
            path = path.replace("\\", "\\\\");
            String fileName = "天气会商.pptx";

String fileType = "pptx";
            WeatherConference c = new WeatherConference();
            c.setFileName(time+fileName);
            c.setFileType(fileType);
            c.setFileTime(fileTime);
            c.setFileUploader(user.toString());
            c.setFilePath(path+"\\\\"+time+"天气会商制作"+".pptx");
            conferenceManager.add(c);

FileOutputStream out = new FileOutputStream(path+"\\"+time+"天气会商制作"+".pptx");

ppt.write(out);
            out.close();

用poi替换ppt中的文字和图片的更多相关文章

  1. poi读取docx中的文字和图片(自己应用)

    poi读取docx中的文字和图片(自己应用) package com.fry.poiDemo.dao; import java.io.File; import java.io.FileInputStr ...

  2. poi提取docx中的文字和图片

    package com.fry.poiDemo.dao; import java.io.File; import java.io.FileInputStream; import java.io.Fil ...

  3. 如何提取出ppt中的文字?

    最近在看一位老师的教学视频,视频里大部分的知识都记录在ppt里,于是很想将ppt中的文字提取出来,如果我一页一页地粘贴复制的话,效率低到吓人,因为一章的ppt有130多页,于是在网上搜索了一下方法,与 ...

  4. 使用POI替换word中的特定字符/文字改进版

    package com.xfzx.test.POI.main; import java.io.File; import java.io.FileInputStream; import java.io. ...

  5. C# 使用正则表达式替换PPT中的文本(附vb.net代码)

    文本介绍如何在C#程序中使用正则表达式替换PPT幻灯片中的指定文本内容.具体操作步骤如下: 1. 在程序中引用Spire.Presentation.dll.两种方法可参考如下: (1)直接在程序中通过 ...

  6. Java在已存在的pdf文件中生成文字和图片--基础

    自我总结,有什么不足之处请告知,感激不尽!下一次总结pdf模板映射生成报表(应对多变的pdf报表需求,数据提供和报表生成解耦). 目的:在给定的pdf模板上生成报表,就需要知道最基本的操作:文字添加, ...

  7. 批量导出ppt中内嵌的图片

    某个ppt中很多页,然后插入了很多图片,且图片都是被压缩的,看起来非常费劲,所以想着一次性把图片另存为,找了接近一个小时,终于被我找到啦,分享给大家: 1.直接把ppt的后缀修改为rar 2.解压ra ...

  8. PDFtoWORD_V1.1版本支持PDF文档中的文字和图片一起转化到word文档中了~

    ​    昨天菜鸟小白做了一个小软件——PDFtoWORD,作用就是将pdf文件中的文字提取出来自动转化为可编辑的word类型.但是这个软件目前也只能将文件PDF中的文字提取出来,还无法提取图片.为了 ...

  9. 如何用Python输出PPT中的文字信息

    在这里,会用到win32com模块 模块下载地址:http://sourceforge.net/projects/pywin32/files/pywin32/ 代码如下: import win32co ...

随机推荐

  1. Javascript中对数组处理的函数汇总

    数组类型是JS中非常常见的类型,而且JS里的数组与其他多数语言中的数组有所不同,它的数组里每一项可以存放任何一种类型的数据,也就是说数组的第一项放的是字符串,第二项可以放数字或对象都没问题.而且JS中 ...

  2. 001.linux的基础优化(期中架构方面的优化)

    1. linux内核优化 第一步 cat >>/etc/sysctl.conf<<EOF net.ipv4.tcp_fin_timeout = 2 net.ipv4.tcp_t ...

  3. 类与类之间的两种关系------新标准c++程序设计

    在c++中,类和类之间有两种基本关系:复合关系和继承关系. 复合关系也称为“has a”关系或“有”的关系,表现为封闭类,即一个类以另一个类的对象作为成员变量. 继承关系也称为“is a”关系或“是” ...

  4. 已经上架的app在AppStore上搜不到的解决办法

    1.问题呈现 相信很多人都遇到过这个问题,天天刷iTunes connect,终于发现app已经上架了,兴奋的跑过去告诉老板,老板说好,大家都装一个吧! 这时候只能一边不慌不忙地甩锅给苹果,一边快马加 ...

  5. bzoj2395 [Balkan 2011]Timeismoney(最小乘积生成树+计算几何)

    题意 每条边有两个权值\(c,t\),请求出一颗生成树,使得\(\sum c\times \sum t\)最小 题解 为什么生成树会和计算几何扯上关系-- 对于每棵树,设\(x=c,y=t\),我们可 ...

  6. CSS探案之 background背景属性剖析

    首先,我们先来看看两个css属性:background和background-color,对!就是这两位,相信大家在平时应该没少 麻烦人家把,反正我是这样,几乎也少会用到背景图,原因很简单:就是有点害 ...

  7. Python操作hdfs

    Python直接操作hdfs,包括追加数据文件到hdfs文件 #!coding:utf-8 import sys from hdfs.client import Client #设置utf-8模式 r ...

  8. 14、OpenCV Python 直线检测

    __author__ = "WSX" import cv2 as cv import numpy as np #-----------------霍夫变换------------- ...

  9. 加快npm包安装的方法

    一直以来都感觉使用npm安装包的速度特别的慢,但是由于npm上面的包比较齐全,所以一直在忍受这种安装依赖包的折磨. 不过这种折磨,到今天为止应该是可以结束了,在知乎看到一个这样的说法: 用npmins ...

  10. [jvm]基于jvm的线程实现

    一.线程的实现 学过操作系统的肯定都知道: 进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位. 线程:是进程的一个执行单元,是进程内可调度实体. ...