日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

java利用poi 把ppt转化为图片,

發(fā)布時(shí)間:2023/12/19 综合教程 24 生活家
生活随笔 收集整理的這篇文章主要介紹了 java利用poi 把ppt转化为图片, 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

導(dǎo)入jar包:

poi-3.8.jar

poi-ooxml-3.9.jar

poi-scratchpad-3.8.jar

代碼:

 1 package test4;
 2 
 3 import java.awt.Dimension;
 4 import java.io.File;
 5 import java.io.FileInputStream;
 6 import java.io.FileNotFoundException;
 7 import java.io.FileOutputStream;
 8 import java.io.IOException;
 9 
10 import org.apache.poi.hslf.model.TextRun;
11 import org.apache.poi.hslf.usermodel.RichTextRun;
12 import org.apache.poi.hslf.usermodel.SlideShow;
13 
14 import java.awt.Color;
15 import java.awt.Graphics2D;
16 import java.awt.geom.Rectangle2D;
17 import java.awt.image.BufferedImage;
18 
19     public class PptToJpg_poi {
20         public static void main(String[] args) {
21             // 讀入PPT文件
22             File file = new File("C:\Users\Administrator\Desktop\pptToJpg\test8.pptx");
23             doPPTtoImage(file);
24         }
25         
26         public static boolean doPPTtoImage(File file) {
27             boolean isppt = checkFile(file);
28             if (!isppt) {
29                 System.out.println("The image you specify don't exit!");
30                 return false;
31             }
32             try {
33                 FileInputStream is = new FileInputStream(file);
34                 SlideShow ppt = new SlideShow(is);
35                 is.close();
36                 Dimension pgsize = ppt.getPageSize();
37                 org.apache.poi.hslf.model.Slide[] slide = ppt.getSlides();
38                 for (int i = 0; i < slide.length; i++) {
39                     TextRun[] truns = slide[i].getTextRuns();
40                     for (int k = 0; k < truns.length; k++) {
41                         RichTextRun[] rtruns = truns[k].getRichTextRuns();
42                         for (int l = 0; l < rtruns.length; l++) {
43                             rtruns[l].setFontIndex(1);
44                             rtruns[l].setFontName("宋體");
45                         }
46                     }
47                     BufferedImage img = new BufferedImage(pgsize.width, pgsize.height,
48                     BufferedImage.TYPE_INT_RGB);
49                     Graphics2D graphics = img.createGraphics();
50                     graphics.setPaint(Color.BLUE);
51                     graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
52                     slide[i].draw(graphics);
53                     // 這里設(shè)置圖片的存放路徑和圖片的格式(jpeg,png,bmp等等),注意生成文件路徑
54                     File path = new File("C:/Users/Administrator/Desktop/pptToJpg/images");
55                     if (!path.exists()) {
56                         path.mkdir();
57                     }
58                     // 可測(cè)試多種圖片格式
59 //                    FileOutputStream out = new FileOutputStream(path + "/" + (i + 1) + ".jpg");
60 //                    javax.imageio.ImageIO.write(img, "jpeg", out);
61                     FileOutputStream out = new FileOutputStream(path + "/" + (i + 1) + ".jpg");
62                     javax.imageio.ImageIO.write(img, "png", out);
63                     out.close();
64                 }
65                 System.out.println("success!!");
66                 return true;
67             } catch (FileNotFoundException e) {
68                 System.out.println(e);
69             } catch (IOException e) {
70                 
71             }
72             return false;
73         }
74         
75         // function 檢查文件是否為PPT
76         public static boolean checkFile(File file) {
77             boolean isppt = false;
78             String filename = file.getName();
79             String suffixname = null;
80             if (filename != null && filename.indexOf(".") != -1) {
81                 suffixname = filename.substring(filename.lastIndexOf("."));
82                 if (suffixname.equals(".ppt") || suffixname.equals(".pptx")) {
83                     isppt = true;
84                 }
85                 return isppt;
86             } else {
87                 return isppt;
88             }
89         }
90         
91 }

親測(cè)有效

總結(jié)

以上是生活随笔為你收集整理的java利用poi 把ppt转化为图片,的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。