我是靠谱客的博主 称心香水,最近开发中收集的这篇文章主要介绍java ppt转图片 失真_java转换ppt,ppt转成图片 乱码问题解决,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

import java.awt.Dimension;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Graphics2D;

import java.awt.geom.Rectangle2D;

import java.awt.image.BufferedImage;

import org.apache.poi.hslf.model.TextRun;

import org.apache.poi.hslf.record.Slide;

import org.apache.poi.hslf.usermodel.RichTextRun;

import org.apache.poi.hslf.usermodel.SlideShow;

public class PPTtoImage {

public static void main(String[] args) {

// 读入PPT文件

File file = new File("F:/20110618.ppt");

doPPTtoImage(file);

}

public static boolean doPPTtoImage(File file) {

boolean isppt = checkFile(file);

if (!isppt) {

System.out.println("The image you specify don't exit!");

return false;

}

try {

FileInputStream is = new FileInputStream(file);

SlideShow ppt = new SlideShow(is);

is.close();

Dimension pgsize = ppt.getPageSize();

org.apache.poi.hslf.model.Slide[] slide = ppt.getSlides();

for (int i = 0; i < slide.length; i++) {

System.out.print("第" + i + "页。");

TextRun[] truns = slide[i].getTextRuns();

for (int k = 0; k < truns.length; k++) {

RichTextRun[] rtruns = truns[k].getRichTextRuns();

for (int l = 0; l < rtruns.length; l++) {

int index = rtruns[l].getFontIndex();

String name = rtruns[l].getFontName();

rtruns[l].setFontIndex(1);

rtruns[l].setFontName("宋体");

System.out.println(rtruns[l].getText());

}

}

BufferedImage img = new BufferedImage(pgsize.width,

pgsize.height, BufferedImage.TYPE_INT_RGB);

Graphics2D graphics = img.createGraphics();

graphics.setPaint(Color.white);

graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width,

pgsize.height));

slide[i].draw(graphics);

// 这里设置图片的存放路径和图片的格式(jpeg,png,bmp等等),注意生成文件路径

FileOutputStream out = new FileOutputStream("F:/test/pict_"

+ (i + 1) + ".jpeg");

javax.imageio.ImageIO.write(img, "jpeg", out);

out.close();

}

System.out.println("success!!");

return true;

} catch (FileNotFoundException e) {

System.out.println(e);

// System.out.println("Can't find the image!");

} catch (IOException e) {

}

return false;

}

// function 检查文件是否为PPT

public static boolean checkFile(File file) {

boolean isppt = false;

String filename = file.getName();

String suffixname = null;

if (filename != null && filename.indexOf(".") != -1) {

suffixname = filename.substring(filename.indexOf("."));

if (suffixname.equals(".ppt")) {

isppt = true;

}

return isppt;

} else {

return isppt;

}

}

}

最后

以上就是称心香水为你收集整理的java ppt转图片 失真_java转换ppt,ppt转成图片 乱码问题解决的全部内容,希望文章能够帮你解决java ppt转图片 失真_java转换ppt,ppt转成图片 乱码问题解决所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部