Java:PPT(X)转图片、PDF和SVG

(一) 简介:

        工作中,PowerPoint文档有时需要被转换为PDF/图像文件来存档。因为PDF或图片的页面布局是固定的,很难被修改且能被大多数设备打开,所以PDF或者图片比起PowerPoint格式更易于存档和传递。基于上述原因,下面介绍如何使用Free Spire.Presentation for Java在Java中将PowerPoint文档转为图片或PDF。

(二)所需工具:

  首先,下载免费版的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文件为图像文件
for (int i = 0; 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();
for (int i = 0; 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();
        for (int i = 0; i < len; i++)
        {
            byte[] bytes = svgBytes.get(i);
            FileOutputStream stream = new FileOutputStream(String.format(outputFile + "ToSVG-%d.svg", i));
            stream.write(bytes);
        }
        ppt.dispose();
    }
}
View Code

 

 

 

 

转载于:https://www.cnblogs.com/MariaWang/p/10863612.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值