Java 轉PPT為圖片、PDF、SVG、XPS、ODP以及PPT和PPTX互轉

iceblue發表於2019-06-26

同一文件,在不同的文件檢視器或者編譯環境中,需要對該文件進行相應的格式轉換。下面的內容中,將介紹通過Java程式設計來實現PPT文件格式轉換的方法。

使用工具:

  • Spire.Presentation for Java
  • IntelliJ IDEA

 

Jar檔案獲取及匯入

方法1通過官網獲取jar檔案包。下載檔案後,解壓,並將lib資料夾下的Spire.Presentation.jar檔案匯入IDEA程式。

方法2:通過maven倉庫安裝匯入

 

Java程式碼示例(供參考)

【示例1】PPT轉為圖片

import com.spire.presentation.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;

public class PPTtoPNG {
    public static void main(String[] args) throws Exception{
        //建立Presentation物件
        Presentation ppt = new Presentation();

        //載入示例文件
        ppt.loadFromFile("sample.pptx");

        //遍歷幻燈片
        for (int i = 0; i < ppt.getSlides().getCount(); i++) {
            //將幻燈片儲存為BufferedImage物件
            BufferedImage image = ppt.getSlides().get(i).saveAsImage();

            //將BufferedImage儲存為PNG格式檔案
            String fileName =  String.format("ToImage.png", i);
            ImageIO.write(image, "PNG",new File(fileName));
        }
        ppt.dispose();

    }
}

PPT轉圖片效果:



【示例2PPT轉為PDF

import com.spire.presentation.FileFormat;
import com.spire.presentation.Presentation;

public class PPTtoPDF {
    public static void main(String[] args) throws Exception{
        //建立Presentation物件
        Presentation ppt = new Presentation();

        //載入示例文件
        ppt.loadFromFile("sample.pptx");

        //儲存為PDF文件
        ppt.saveToFile("ToPDF.pdf", FileFormat.PDF);
        ppt.dispose();
    }
}

PPT轉PDF效果:

 

【示例3PPT轉為SVG

import com.spire.presentation.*;
import java.io.FileOutputStream;
import java.util.ArrayList;

public class PPTtoSVG {
    public static void main(String[] args) throws Exception{
        //建立Presentation物件
        Presentation ppt = new Presentation();

        //載入示例文件
        ppt.loadFromFile("sample.pptx");

        //將PowerPoint文件轉換為SVG格式,並以byte陣列的形式儲存於ArrayList
        ArrayList<byte[]> svgBytes =(ArrayList<byte[]>) ppt.saveToSVG();

        //遍歷ArrayList中的byte陣列
        for (int i = 0; i < svgBytes.size(); i++)
        {

            //將byte陣列儲存為SVG格式檔案
            byte[] bytes = svgBytes.get(i);
            FileOutputStream stream = new FileOutputStream(String.format("ToSVG.svg", i));
            stream.write(bytes);
        }
        ppt.dispose();

    }
}

PPT轉SVG效果:

 

【示例4PPT轉為XPS

import com.spire.presentation.*;

public class PPTtoXPS {
    public static void main(String[] args) throws  Exception{
        //載入測試文件
        Presentation ppt = new Presentation();
        ppt.loadFromFile("sample.pptx");

        //儲存為XPS
        ppt.saveToFile("ToXPS.xps",FileFormat.XPS);
        ppt.dispose();
    }
}

PPT轉XPS效果:

 

【示例5PPT轉為ODP

import com.spire.presentation.*;

public class PPTtoODP {
    public static void main(String[] args) throws Exception {
        //載入測試文件
        Presentation ppt = new Presentation();
        ppt.loadFromFile("sample.pptx");

        //儲存為ODP
        ppt.saveToFile("ToODP.odp",FileFormat.ODP);
    }
}

 

【示例6PPTPPTX互轉

import com.spire.presentation.*;

public class PPTXtoPPT {
    public static void main( String[] args) throws Exception{
        //建立Presentation物件
        Presentation ppt = new Presentation();

        //載入PPTX文件
        ppt.loadFromFile("sample.pptx");

        //儲存為PPT
        ppt.saveToFile("ToPPT.ppt", FileFormat.PPT);

        //PPT轉為PPTX
        //ppt.loadFromFile("sample.ppt");
        //ppt.saveToFile("ToPPTX.pptx",FileFormat.PPTX_2013);
        ppt.dispose();
    }
}

 

(本文完)

轉載請註明出處!

 

相關文章