`
michaeltangbin
  • 浏览: 271678 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江省
社区版块
存档分类
最新评论

Java---POI--操作PPT

    博客分类:
  • java
阅读更多

一, 解析PPT文件中的图片 

Java代码 
  1. package test.ppt;  
  2.   
  3. import java.io.File;  
  4. import java.io.FileOutputStream;  
  5.   
  6. import org.apache.poi.hslf.HSLFSlideShow;  
  7. import org.apache.poi.hslf.model.Picture;  
  8. import org.apache.poi.hslf.usermodel.PictureData;  
  9. import org.apache.poi.hslf.usermodel.SlideShow;  
  10. /** 
  11.  * 运行程序, 所在工程需要导入 POI3.6 开发包 
  12.  * @author 杜磊米 
  13.  * 
  14.  */  
  15. public class OutputPicture {  
  16.     // 图片默认存放路径  
  17.     public final static String path = "F:\\ppt\\";  
  18.   
  19.     public static void main(String[] args) throws Exception {  
  20.         // 加载PPT  
  21.         HSLFSlideShow _hslf = new HSLFSlideShow("F:\\Downloads\\myPPT.ppt");  
  22.         SlideShow _slideShow = new SlideShow(_hslf);  
  23.           
  24.         // 获取PPT文件中的图片数据  
  25.         PictureData[] _pictures = _slideShow.getPictureData();  
  26.           
  27.         // 循环读取图片数据  
  28.         for (int i = 0; i < _pictures.length; i++) {  
  29.             StringBuilder fileName = new StringBuilder(path);  
  30.             PictureData pic_data = _pictures[i];  
  31.             fileName.append(i);  
  32.             // 设置格式  
  33.             switch (pic_data.getType()) {  
  34.             case Picture.JPEG:  
  35.                 fileName.append(".jpg");  
  36.                 break;  
  37.             case Picture.PNG:  
  38.                 fileName.append(".png");  
  39.                 break;  
  40.             default:  
  41.                 fileName.append(".data");  
  42.             }  
  43.             // 输出文件  
  44.             FileOutputStream fileOut = new FileOutputStream(new File(fileName.toString()));  
  45.             fileOut.write(pic_data.getData());  
  46.             fileOut.close();  
  47.         }  
  48.     }  
  49. }  


二 , 在PPT文件中加入外部图片 
Java代码 
  1. package test.ppt;  
  2.   
  3. import java.awt.Rectangle;  
  4. import java.awt.image.BufferedImage;  
  5. import java.io.File;  
  6. import java.io.FileOutputStream;  
  7. import javax.imageio.ImageIO;  
  8. import org.apache.poi.hslf.model.Picture;  
  9. import org.apache.poi.hslf.model.Slide;  
  10. import org.apache.poi.hslf.usermodel.SlideShow;  
  11.   
  12. /** 
  13.  * 将图片置入PPT文件中 
  14.  * @author 杜磊米 
  15.  */  
  16. public class InputPicture {  
  17.   
  18.     public static String path = "F:\\images\\myImage.png";  
  19.     public static String OUTPUT = "F:\\ppt\\myppt.ppt";  
  20.       
  21.     public static void main(String[] args) throws Exception {  
  22.           
  23.         if(args.length != 0){  
  24.             path = args[0];  
  25.         }  
  26.         // 构建PPT  
  27.         SlideShow _slideShow = new SlideShow();  
  28.         // 创建幻灯片  
  29.         Slide _slide = _slideShow.createSlide();  
  30.           
  31.         // 设置图片类型  
  32.         int pic_type = -1;  
  33.         if(path.indexOf(".png") != -1){  
  34.             pic_type = Picture.PNG;  
  35.         }else{  
  36.             pic_type = Picture.JPEG;  
  37.         }  
  38.         File file = new File(path);  
  39.         BufferedImage image = ImageIO.read(file);  
  40.         // 新置入图片索引位置  
  41.         int newIndex = _slideShow.addPicture(file, pic_type);  
  42.         // 根据索引位置 , 创建图片对象  
  43.         Picture _picture = new Picture(newIndex);  
  44.         // 设置图片显示位置  
  45.         _picture.setAnchor(new Rectangle(100,100,image.getWidth(),image.getHeight()));  
  46.           
  47.         // 将图片放入幻灯片  
  48.         _slide.addShape(_picture);  
  49.         // 输出PPT文件  
  50.         _slideShow.write(new FileOutputStream(new File(OUTPUT)));  
  51.     }  
  52.   
  53. }  


三 , 操作文本对象 
Java代码 
  1. package test.ppt;  
  2.   
  3. import java.awt.Color;  
  4. import java.awt.Rectangle;  
  5. import java.io.FileOutputStream;  
  6.   
  7. import org.apache.poi.hslf.model.AutoShape;  
  8. import org.apache.poi.hslf.model.Line;  
  9. import org.apache.poi.hslf.model.ShapeTypes;  
  10. import org.apache.poi.hslf.model.Slide;  
  11. import org.apache.poi.hslf.model.TextBox;  
  12. import org.apache.poi.hslf.model.TextRun;  
  13. import org.apache.poi.hslf.usermodel.RichTextRun;  
  14. import org.apache.poi.hslf.usermodel.SlideShow;  
  15.   
  16. /** 
  17.  * 操作 Text 文本 
  18.  * @author 杜磊米 
  19.  */  
  20. public class InputTextRun {  
  21.   
  22.     public static void main(String[] args) throws Exception{  
  23.           
  24.         SlideShow _slideShow = new SlideShow();  
  25.         Slide slide = _slideShow.createSlide();  
  26.           
  27.         // 创建并置入简单文本  
  28.         TextBox _text = new TextBox();  
  29.         TextRun _textRun = _text.createTextRun();  <
    分享到:
    评论
    2 楼 ye_wx 2011-08-26  
    要加哪些jar包呢?麻烦列出来行吗
    1 楼 caizi_java 2010-08-15  
    没完啊,太不负责了嘛

相关推荐

    利用java poi操作ppt

    在这个特定的话题中,我们将深入探讨如何利用Java POI来操作PPT(PowerPoint)文件。以下是关于这个主题的详细讲解: 1. **创建新的PPT文档** 使用Java POI创建一个新的PPT文档首先需要引入相关的库,例如`poi-...

    POI操作PPT文档(导入,导出,读取,添加,拼接,替换文本,页面排序)

    POI 操作 PPT 文档(导入、导出、读取、添加、拼接、替换文本、页面排序) POI(Apache POI)是一款开源的Java库,用于读取和写入各种Microsoft Office文件格式,包括PPT文档。本文档将介绍如何使用POI操作PPT文档...

    poi全家桶ooxml-schemas/poi/poi-examples/poi-ooxml/poi-ooxml-schemas/poi-scratchpad

    5. **poi-ooxml-schemas**: 这部分包含了OOXML文件格式的Java绑定,允许开发者直接操作XML结构,以创建和解析OOXML文档。 6. **poi-scratchpad**: 这是Apache POI项目的一个实验性或开发阶段的模块,通常包含新功能...

    Java使用Poi导出PPT幻灯片java-poi

    Java使用Poi导出PPT幻灯片java-poi,示例使用XMLSlideShow和XSLFSlide创建了一页胶片,并导入了一张图片,最后通过write方法导出成PPT幻灯片文件。

    java-POI相关jar包

    Java POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Word(.doc)、Excel(.xls)和PowerPoint(.ppt)等。它为Java开发者提供了一个API,可以方便地读取、写入和修改这些文件,极大地拓展了Java...

    poi-ppt.zip_POI_Poi-ppt_poi ImageExtractor_poi源码包

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Word(.doc, ....通过对源码的学习和实践,开发者可以深入理解POI的工作原理,从而有效地在Java应用中读取、修改和管理Office文档中的图像。

    使用poi操作PPT

    本资源《初始版本》是精简版,《PPT模板生成PPT》是实际项目中的例子,具体就是使用poi去操作PPT,替换PPT中特定的文本,用${key}这种标识在PPT中存放,java代码使用value去替换PPT中的${key},从而生成新的PPT供大家...

    Java-POI-jar包

    综上,Java POI库为Java开发者提供了方便快捷地操作Microsoft Office文档的能力,无论是在数据处理、报表生成还是自动化办公场景中,都发挥着重要作用。通过熟练掌握和运用POI,可以极大地提高开发效率,减少与...

    java实现poi模板生成PPT文件代码

    Java中的Apache POI库是一个强大的工具,用于读取、创建和修改Microsoft Office格式的文件,包括PPT(PowerPoint)文档。在这个项目中,我们将会探讨如何使用POI API来生成PPT文件,特别是通过模板的方式。以下是...

    java-poi3.x-ppt

    poi-3.x解析ppt和pptx内容

    poi操作ppt图表史上最完整示例演示.zip

    在这个"poi操作ppt图表史上最完整示例演示.zip"压缩包中,我们主要关注的是如何使用Apache POI库来操作PowerPoint中的图表,包括圆饼图、柱状图、线性图和面积图。这些图表是数据可视化的重要工具,有助于更好地理解...

    poi操作ppt完整示例程序

    在本示例程序中,我们关注的是如何使用Java和Apache POI库来操作PowerPoint(PPT)文件。POI 提供了丰富的API,使得开发者能够创建、修改、读取和展示PPT文件,而无需依赖Microsoft Office。 首先,我们需要理解...

    Poi-ppt.zip_885POICOM_PPT模板_javaPPT工具项目_poi ppt

    标题中的“Poi-ppt.zip_885POICOM_PPT模板_javaPPT工具项目_poi ppt”表明这是一个基于Java的项目,利用Apache POI库来操作PPT模板,生成定制化的PPT文件。描述进一步确认了这一点,说明这个项目能够接受模板,并在...

    JAVA poi-4.1.2 完整包

    JAVA poi-4.1.2 完整包,操作excel,word,ppt必备。Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

    JAVA-POI, 最新版,提供微软office最全面的API

    JAVA-POI是Java开发中的一个开源库,主要用于读取、创建、修改Microsoft Office文档,如Excel、Word和PowerPoint。这个2014年的稳定版本(poi-3.10.1)提供了对微软Office格式的强大支持,使得Java开发者能够以编程...

    poi-bin-3.0.1-FINAL-20070705.zip_POI_PPT预览_java poi-bin-3.0_java

    Apache POI 提供了一系列API,使得开发者可以用纯Java代码来操作Office文档。对于PPT部分,POI提供了一个叫做HSLF(Horrible Slide Library Format)的模块,它允许开发者创建、修改和显示PowerPoint演示文稿。通过...

    java用poi转ppt为图片和用pdfbox转pdf为图片的demo

    在处理各种文档格式时,如PPT(PowerPoint)和PDF(Portable Document Format),Java提供了强大的库,如Apache POI和PDFBox。这两个库分别用于处理Microsoft Office文档和PDF文件。 Apache POI是Java中的一个开源...

    poi-bin-3.10-beta2-20130904.zip

    HSLF PowerPoint PPT poi-scratchpad HWPF Word DOC poi-scratchpad HDGF Visio VSD poi-scratchpad HPBF Publisher PUB poi-scratchpad HSMF Outlook MSG poi-scratchpad XSSF Excel XLSX poi-ooxml XSLF ...

    java poi-4.1所有jar包

    Java POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Word(.doc, .docx)、Excel(.xls, .xlsx)、PowerPoint(.ppt, .pptx)以及Visio和Outlook等。POI-4.1是该项目的一个版本,包含了对这些文件...

Global site tag (gtag.js) - Google Analytics