(一) 简介:

工作中,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文件为图像文件
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

Java:PPT(X)转图片、PDF和SVG相关推荐

  1. java ppt文件转图片,ppt转PDF

    先上图,有图有真相.本人亲测,可以通过 因为android没办法直接加载ppt文件,需要借助第三方的软件,比如office,这就涉及一个文件保密的问题,只能使用自己的软件加载,android 可以直接 ...

  2. java ppt 转图片格式_Java PPT(X)转图片、PDF和SVG

    (一)简介: 工作中,PowerPoint文档有时需要被转换为PDF/图像文件来存档.因为PDF或图片的页面布局是固定的,很难被修改且能被大多数设备打开,所以PDF或者图片比起PowerPoint格式 ...

  3. java给图片、word、ppt、excel、pdf添加水印

    java给图片.word.ppt.excel.pdf添加水印 使用poi.itextpdf.imageio等技术 只支持高版本的office,即支持docx.pptx.xlsx 给word添加水印遇到 ...

  4. java ppt转html_word,ppt,excel转pdf,pdf转html工具类搭建

    我看到很多需求要求word,excel,ppt,pptx转pdf等工具类.还有就是pdf转图片转html这里介绍一个这个工具类. 引入pom.xml com.aspose aspose-pdf 11. ...

  5. java利用jacob实现word,ppt,excel,jpg转pdf

    项目中遇到了需要把用户上传的word,execl,ppt每页截图保存.需要先用到jacob把资源转换为pdf,在通过pdf-renderer把每页截图下来. 下载相关的jar包:http://down ...

  6. java 生成 pdf linux,java ppt在线转pdf linux

    java ppt在线转pdf linux [2021-01-31 12:42:59]  简介: php中ppt转pdf的方法:首先配置组件服务,并在后台运行OpenOffice软件:然后配置PHP扩展 ...

  7. java图片去掉文字_关于java:Java-添加删除PPT文本和图片水印

    在前文中,我介绍过如何给PDF文档增加文本和图片水印.本文将具体解说如何增加.删除PPT文本和图片水印. 此次代码示例所用到的工具是Free Spire.Presentation for Java.F ...

  8. java使用itext将图片放到pdf模板的指定位置

    java使用itext将图片放到pdf模板的指定位置 前面的准备步骤可以参考我的上一篇文章 这里直接上代码 这里用的图片是路径的形式,还有种情况是图片是base64的时候,这种情况就需要转一下图片格式 ...

  9. Java实现多个图片转化成PDF

    Java实现多个图片转化成PDF 依赖 <dependency><groupId>com.lowagie</groupId><artifactId>it ...

最新文章

  1. 《统计学习方法》读书笔记(1)---学习的要素
  2. 一文详解决策树算法模型
  3. 太原工业学院单片机课程设计_我系举办2014年单片机应用技能竞赛开幕式
  4. NET 提供了执行异步操作的三种模式
  5. sqlserver垮库查询_SQLServer跨库查询--分布式查询
  6. HTML表格和HTML表单
  7. 最符合的多载方法有一些無效的引數_SMT小批量贴片加工厂的贴片加工的首件测试方法...
  8. SpringBoot自定义注解接收json参数
  9. tp5 + 百度编辑器 +七牛云存储的实现办法
  10. 奇异值分解(Singular Value Decomposition, SVD)——快速教程
  11. SVN实现自动更新(Windows平台)
  12. 2018年国内十大技术突破:22纳米光刻机、大型航天器回收
  13. AIC和BIC准则详解
  14. vnc远程控制软件,五款良心推荐的vnc远程控制软件
  15. 腾创网络-webrtc视频会议软件
  16. 【手环算法开发】--计步检测,看着篇文章就懂了
  17. Excel信息批量替换Word模板生成新文件
  18. iPhone刘海模组说明
  19. operator++()实现:前置++和后置++
  20. 如何删除win7系统桌面ie图标

热门文章

  1. LaTeX数学公式、常用符号大全
  2. ACY100油烟浓度在线监控仪针对饮食业厨房油烟排放
  3. BENTLY卡件125680-01、3500/42M140734-02、125760-01、149992-01、1900/65A(167699-02)、1900/65A-01-02-01-00-00
  4. 层自动命名模块检测未通过
  5. 农行上海研发中心实习面经
  6. php食堂刷卡机系统,瀚创校园食堂消费系统H999 校园食堂消费系统 校园食堂刷卡机 校园一卡通消费机...
  7. 为什么CAD多段线没有面积属性或数值不对?快看过来!
  8. 【Unity3D 打斗游戏开发】之二 异步加载场景或预加载资源后进入游戏
  9. PADS VX2.8 router亮显模式的设置方法
  10. vmware player