
正文
Java:PPT(X)转图片、PDF和SVG
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
(一) 简介:
工作中,PowerPoint文档有时需要被转换为PDF/图像文件来存档。因为PDF或图片的页面布局是固定的,很难被修改且能被大多数设备打开,所以PDF或者图片比起PowerPoint格式更易于存档和传递。基于上述原因,下面介绍如何使用Free Spire.Presentation for Java在Java中将PowerPoint文档转为图片或PDF。
(二)所需工具:
- Free Spire.Presentation for Java 2.2.3(免费版)
- Intellij IDEA
首先,下载免费版的Spire.Presentation,解压到电脑中,将解压包中lib文件夹下的jar包引用至项目中。

下面是PowerPoint源文档的截图:

(三)JAVA代码示例
1)PPT(X) 转 图片
定义outputFile用于存放生成文档的文件。使用saveAsImage()方法将每张幻灯片保存为BufferdImage对象,然后将图像数据写入文件,并保存为PNG格式。
//系统中ppt文件位置String inputFile ="C:\\Users\\Administrator\\Desktop\\Presentation.pptx";//输出文件的文件夹String outputFile="output";//创建一个ppt实例Presentation ppt = new Presentation();//加载ppt文件ppt.loadFromFile(inputFile);//保存ppt文件为图像文件; i < ppt.getSlides().getCount(); i++) { BufferedImage image = ppt.getSlides().get(i).saveAsImage(); String fileName = outputFile + "/" + String.format("ToImage-%1$s.png", i); ImageIO.write(image, "PNG",new File(fileName));
转换结果:


2 )PPT(X) 转 PDF:
创建一个Presentation类对象来保存要转换的PowerPoint文件,然后调用相同对象的saveToFile()方法将文档保存为PDF文件。
//系统中ppt文件的位置String inputFile ="C:\\Users\\Administrator\\Desktop\\Presentation.pptx";//ppt转pdf过后将存在的位置和格式String outputFile="output/toPDF_result.pdf";//创建一个ppt实例Presentation ppt = new Presentation();//加载ppt文件ppt.loadFromFile(inputFile);//保存ppt为pdf格式ppt.saveToFile(outputFile, FileFormat.PDF);
运行结果:

3)PPT(X) 转 SVG:
使用saveTOSVG()将ppt文件赋值给一个byte类型的数组对象,创建一个FIleOututStream对象输出目标文件。
//系统文件的位置String inputFile ="C:\\Users\\Administrator\\Desktop\\Presentation.pptx";//SVG生成后存在的位置String outputFile="output/";//创建ppt实例Presentation ppt = new Presentation();//加载ppt文件ppt.loadFromFile(inputFile);ArrayList<byte[]> svgBytes =(ArrayList<byte[]>) ppt.saveToSVG();int count = svgBytes.size();int len = svgBytes.size();; i < len; i++){ byte[] bytes = svgBytes.get(i); FileOutputStream stream = new FileOutputStream(String.format(outputFile + "ToSVG-%d.svg", i)); stream.write(bytes);
运行结果:

完整代码:
import com.spire.presentation.Presentation;import java.io.FileOutputStream;import java.util.ArrayList;public class toSVG { public static void main(String[] args) throws Exception{ //系统文件的位置 String inputFile ="C:\\Users\\Administrator\\Desktop\\Presentation.pptx"; //SVG生成后存在的位置 String outputFile="output/"; //创建ppt实例 Presentation ppt = new Presentation(); //加载ppt文件 ppt.loadFromFile(inputFile); ArrayList<byte[]> svgBytes =(ArrayList<byte[]>) ppt.saveToSVG(); int count = svgBytes.size(); int len = svgBytes.size(); ; i < len; i++) { byte[] bytes = svgBytes.get(i); FileOutputStream stream = new FileOutputStream(String.format(outputFile + "ToSVG-%d.svg", i)); stream.write(bytes); } ppt.dispose(); }}







