java利用poi生成pptx格式的ppt
最近开发了一个自定义ppt模板生成ppt的需求,记录一个小demo
官方文档 ppt文档链接
w3c的文档ppt文档
1.首先打入poi的maven依赖
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><dependency> <groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.14</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.poi/poi-scratchpad --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-scratchpad</artifactId><version>3.14</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.14</version></dependency>
2.代码示例
// 步骤1 :通过实例化 XMLSlideShow 类创建一个空的演示文稿,如下所示:XMLSlideShow ppt = new XMLSlideShow();String slideWidth = "25.36";String slideHeight = "19.01";
// 设置幻灯片大小ppt.setPageSize(new Dimension(Double.valueOf(Double.valueOf(slideWidth) / 3.53 * 100).intValue(), Double.valueOf(Double.valueOf(slideHeight) / 3.53 * 100).intValue()));
// 步骤2 :使用 getSlideMasters()方法获取幻灯片主题列表。 此后,使用索引选择所需的幻灯片母带,如下所示:XSLFSlideMaster slideMaster = ppt.getSlideMasters().get(0);//可设置母版的
// 这里我们得到的默认幻灯片母版是在幻灯片主数据的第0位置。byte[] bt2 = FileUtils.readFileToByteArray(new File("C:\\Users\\zengjun\\Desktop\\导出ppt图片\\母版.png"));XSLFPictureData idx2 = ppt.addPicture(bt2, XSLFPictureData.PictureType.PNG);XSLFPictureShape picture = slideMaster.createPicture(idx2);//设置母版picture.setAnchor(new Rectangle(0, 0, ppt.getPageSize().width, ppt.getPageSize().height)); //设置母版大小//创建幻灯片XSLFSlide slide1 = ppt.createSlide();String x = "3.45"; //水平位置String y = "12.70"; //垂直位置String w = "12.45"; //宽度String h = "0.50"; //高度XSLFTextBox textBox = slide1.createTextBox();textBox.setAnchor(new Rectangle2D.Double(Double.valueOf(x) / 3.53 * 100, Double.valueOf(y) / 3.53 * 100, Double.valueOf(w) / 3.53 * 100, Double.valueOf(h) / 3.53 * 100));XSLFTextRun textRun = textBox.setText("实际发布:10");textRun.setFontFamily("宋体");textRun.setFontSize(16.0);textRun.setBold(true); //设置粗体状态String x2 = "2.96"; //水平位置String y2 = "13.91"; //垂直位置String w2 = "10.56"; //宽度String h2 = "0.50"; //高度XSLFTextBox textBox2 = slide1.createTextBox();textBox2.setAnchor(new Rectangle2D.Double(Double.valueOf(x2) / 3.53 * 100, Double.valueOf(y2) / 3.53 * 100, Double.valueOf(w2) / 3.53 * 100, Double.valueOf(h2) / 3.53 * 100));/** 生成一个新的文本段落 **/XSLFTextParagraph xslfTextRuns = textBox2.addNewTextParagraph();/** 添加新的文本 **/XSLFTextRun xslfTextRun = xslfTextRuns.addNewTextRun();/** 添加新的文本 **/xslfTextRun.setText("福海信息港");/** 设置字体类型 **/xslfTextRun.setFontFamily("宋体");/** 设置字体大小 **/xslfTextRun.setFontSize(16.0);ppt.write(new FileOutputStream("ppt2.pptx"));
3 效果展示
代码中的红色部分,是我比例算出来的大小
java利用poi生成pptx格式的ppt相关推荐
- Java利用poi生成word(包含插入图片,动态表格,行合并)
Java利用poi生成word(包含插入图片,动态表格,行合并) 测试模板样式: 图表 1 Word生成结果: 图表 2 需要的jar包:(具体jar可自行去maven下载) Test测试类: imp ...
- Java利用POI生成Excel强制换行
前一段时间在做一个学校排课系统时,有一个地方需要利用把课程表生成excel汇出给客户,由于之前用excel都只是简单的应用,在单元格里都是用自动换行,而这次可能需要用到手动强制换行. 于是我在网上找 ...
- java利用poi生成/读取excel表格
1.引入jar包依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</ ...
- java利用poi生成excel如何自动换行
1.首先设置单元格内容自动换行 // 生成一个样式,用于设置内容样式 HSSFWorkbook workbook = new HSSFWorkbook(); HSSFCellStyle cellSty ...
- java利用poi导出excel功能-附带图片导出
java利用poi导出excel功能-附带图片导出 写在前面 最近刚离职,闲来无事,于是把上两家公司都有碰到过的需求但都没有去研究实现:即导出带图片的excel报表.于是就折腾了一下这个功能,研究出来 ...
- java利用poi实现Excel考勤报表的输出
java利用poi实现Excel考勤报表的输出 实现效果 SXSSFWorkbook超大数据导出 标题.表头.内容有样式 可以多个sheet(满65535行数据换新的sheet) 一度为快 maven ...
- java利用poi读取excel_java利用POI读取excel文件的方法
摘要:利用java读取excel文件,读取文件并获取文件中每一个sheet中的值. 一.需要提前导入的包: import java.io.File; import java.io.FileInputS ...
- java使用poi生成Excel文件并合并单元格
java使用poi生成Excel文件并合并单元格 业务需要根据 分管部门 字段进行合并,现在提供一种思路. controller层 @Inject(target = "/inf ...
- Java 调用Poi 生成费用报销单Excel
整个代码有点多,并没有做优化.目前只是为了功能实现.可以直接复制,创建main方法运行 默认一张A4纸,可以存放2个报销单模板. 如果只想一张A4纸,存放一个报销单.可以从分割线以下代码删除掉.其对应 ...
最新文章
- php面向对象静态常量,浅谈PHP面向对象编程(四、类常量和静态成员)
- java猜数字游戏界面_用java来写一个猜数字游戏,要用到界面
- 百度地图API快速调用,一键生成百度地图
- 6、日期格式化(DateFormat类和SimpleDateFormat类)
- 多个输出用java怎么写_请问用java写程序怎么输出这两个图形
- JDK 7的算法和数据结构
- eclipse preference没有server_Java Web开发的前期准备工作,部署Tomcat服务器和Server环境创建...
- GetDlgItem
- thinkphp 内部函数 D()、F()、S()、C()、L()、A()、I()
- gc:C语言的垃圾回收库-中文
- 【USACO】sprime
- u8应用服务器设置eai,用友U8+V15EAI用户使用手册.pdf
- 正确的加密存储密码防止被拖库(脱裤)保护用户登录安全
- 完全自学C(干货) —— 结构体初识
- react native 8081 端口号被占
- 如何在Web前端实现CAD图文字全文搜索
- 新安装Win10操作系统有必要设置的几个技巧
- android中关闭软键盘
- 国内哪家公司做网站最好?
- 个人面经整理深信服测开