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("C:/test.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("宋体");
}
}
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("C:/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转化为PDF是指通过Java语言将 PowerPoint 文档(PPT)转换为可移植文档格式(PDF)。这个过程可以使用 Apache POI 库和 iText 库来实现。 首先,需要使用Apache POI 库来读取 PPT 文件,POI 库提供了一...
在"java用poi转ppt为图片"的场景下,我们可以利用POI的API将PPT文件的每一页转换为图像。这样做的好处在于,可以方便地在网络上传输或嵌入到其他不支持PPT格式的应用中。转换过程通常涉及打开PPT文件,遍历每一页...
Java中的PPT/PPTX转换为图片涉及到的关键技术主要与Apache POI库有关,这是一个用于处理Microsoft Office格式的开源Java库。Apache POI提供了一套API,使得开发者能够在Java环境中读取、写入和修改Microsoft Office...
3. **Flying Saucer** - 这是一个Java库,能够将XHTML、CSS和图片转换为高质量的PDF或HTML5。在我们的场景中,它可以帮助将Word、Excel和PPT(经过先转换为XHTML)转换为HTML。 接下来,我们逐一讲解这些库的使用...
java转换ppt为图片
在Java编程环境中,将文档(如Excel、Word、PDF、PPT)转换为图片是一种常见的需求,这在处理大量文档预览、数据可视化或者移动设备兼容性问题时尤其有用。以下是一些关于如何使用Java实现这种转换的关键知识点: 1...
Entry.java这个类的原理是先通过OfficeToPDF.java把文档转成pdf,然后再通过Pdf2Jpg.java这个类把PDF转成JPG或者PNG,想转成什么格式图片在Pdf2Jpg.java这个类当中设置一下,代码经过测试,完全没有问题,如果碰到...
这段代码首先读取本地的图片文件,将其转换为字节数组,然后添加到PPT中。接着,我们创建一个图片形状并设置其位置和大小。 总的来说,Java通过Apache POI库提供了一个强大而灵活的方式来生成PPT文件。开发者可以...
以下是一个简单的Java代码片段,演示了如何将Word文档转换为PDF: ```java import org.artofsolving.jodconverter.OfficeDocumentConverter; import org.artofsolving.jodconverter.office.LocalOfficeManager; ...
然后,这些字节码在任何支持Java的设备上,通过Java虚拟机(JVM)转换为可执行的本地机器代码。这种设计使得“一次编写,到处运行”的理念成为可能。 Java开发工具包(JDK)是进行Java开发的基础,包含了开发所需的...
使用`XSLFPictureShape`类,将图片数据转换为`byte[]`,然后创建图片形状。例如: ```java byte[] imageData = ...; // 读取图片的字节数组 XSLFPictureData pictureData = ppt.getSlideShow().addPicture...
将PPT转换为swf格式的软件
JAVA实现ppt转换为html进行预览
通过解析PPT文件,我们可以提取幻灯片内容并将其转换为HTML或其他适合浏览器的格式。另一种方法是利用第三方服务,如Google Drive API或Microsoft Azure的API,它们提供了文件预览的功能,可以返回一个可嵌入网页的...
把jacob.jar加载到工程里...C:\Program Files\Java\jdk1.5.0_04\bin;C:\Program Files\Java\jdk1.5.0_04\jre\bin;下添加jacob.dll文件。 OfficeToXML.java文件是实现代码。 我自己工程用到的代码,现共享出来给大家!
aspose-words、itextpdf完美解决java将word、excel、ppt、图片转换为pdf文件. aspose-words-15.8.0-jdk16.jar aspose-cells-21.8.cracked.jar itext-asian-5.2.0.jar itextpdf-5.4.3.jar
在Java开发中,有时我们需要将不同的文档格式进行转换,例如将.docx文档转换为.ppt演示文稿。Aspose.Slides是一款强大的第三方库,它提供了这种转换功能,使得开发者无需借助Microsoft Office或其他类似工具就能在...
本项目将详细介绍如何使用Java POI将PPT文件转换为HTML5。 首先,我们需要理解Java POI的基本用法。POI提供了一系列API,可以用来读取、写入以及操作Microsoft Office格式的文件。对于PPTX文件,主要涉及HSLF...
# 调用函数并转换PPT ppt_to_md("example.pptx") ``` 然后,我们可以使用`pandoc`将这个Markdown文件转换为HTML: ```bash pandoc temp.md -o output.html ``` 这将生成一个名为`output.html`的HTML文件,其中...
可将doc、docx、ppt、pptx、odt格式文件转换为pdf。 用法: java -jar doc-converter.jar -type "type" -input "path" -output "path" -verbose java -jar doc-converter.jar -input test.doc java -jar doc-...