package com.hwy.test; import org.apache.poi.hslf.HSLFSlideShow; import org.apache.poi.hslf.model.Slide; import org.apache.poi.hslf.model.TextBox; import org.apache.poi.hslf.usermodel.SlideShow; import org.apache.poi.xslf.XSLFSlideShow; import org.apache.poi.xslf.usermodel.*; import java.awt.*; import java.io.FileInputStream; import java.io.FileOutputStream; /** * PPT简单导出 * Created by Ay on 2016/6/14. */ public class MyFirstPPTTest { public static void main(String[] args) throws Exception{ String filePath = "D://MyPPT.pptx"; /** 加载PPT **/ XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(filePath)); /** 创建一个slide,理解为PPT里的每一页 **/ XSLFSlide xslfSlide = ppt.createSlide(); /** 创建一个文本框 **/ XSLFTextBox xslfTextBox = xslfSlide.createTextBox(); XSLFTextBox xslfTextBox2 = xslfSlide.createTextBox(); XSLFTextBox xslfTextBox3 = xslfSlide.createTextBox(); /** 生成一个新的文本段落 **/ XSLFTextParagraph paragraph = xslfTextBox.addNewTextParagraph(); XSLFTextParagraph paragraph2 = xslfTextBox.addNewTextParagraph(); XSLFTextParagraph paragraph3 = xslfTextBox.addNewTextParagraph(); /** 添加新的文本 **/ XSLFTextRun xslfTextRun = paragraph.addNewTextRun(); XSLFTextRun xslfTextRun2 = paragraph2.addNewTextRun(); XSLFTextRun xslfTextRun3 = paragraph3.addNewTextRun(); /** 设置内容 **/ xslfTextRun.setText("标题一"); xslfTextRun2.setText("标题二"); xslfTextRun3.setText("标题三"); /** 设置加粗 **/ xslfTextRun.setBold(true); xslfTextRun2.setBold(true); xslfTextRun3.setBold(true); /** 设置颜色 **/ xslfTextRun.setFontColor(new Color(32, 33, 101)); xslfTextRun2.setFontColor(new Color(32, 33, 101)); xslfTextRun3.setFontColor(new Color(32, 33, 101)); /** 设置字体大小 **/ xslfTextRun.setFontSize(24); xslfTextRun2.setFontSize(24); xslfTextRun3.setFontSize(24); /** 设置字体 **/ xslfTextRun.setFontFamily("仿宋_GB2312"); xslfTextRun2.setFontFamily("仿宋_GB2312"); xslfTextRun3.setFontFamily("仿宋_GB2312"); /** 设置斜体 和 下划线 **/ //xslfTextRun.setItalic(true); xslfTextRun.setUnderline(true); xslfTextRun2.setUnderline(true); xslfTextRun3.setUnderline(true); /** 4个参数分别为 x , y , width , height **/ xslfTextBox.setAnchor(new Rectangle(20, 30, 100, 100)); xslfTextBox2.setAnchor(new Rectangle(20, 60, 100, 100)); xslfTextBox3.setAnchor(new Rectangle(20, 90, 100, 100)); /** 输出文件 **/ ppt.write(new FileOutputStream(filePath)); } }