不静之心

总是乐于收藏和分享,有助于个人成长
  • 首页
  • 专业技术
    • 前端
      • javascript
      • 美工
    • 服务端
      • 设计模式
        • 创建型模式
        • 结构型模式
        • 行为型模式
      • Java
      • J2EE
      • Spring
      • Hibernate&Mybatis
      • PHP
      • Python
      • 工作流
    • 移动
    • 数据库
      • 大数据
    • 加解密
  • 专业工具
    • OS
    • 开源软件
    • Maven
    • WordPress
  • 我的收藏
    • 应用软件收藏
    • Android使用记录
    • 前端收藏
      • 移动开发框架插件收集
      • 优秀网站收集
      • CSS3效果插件
      • JS优秀插件收集
      • 图片图表图标插件
      • 前台美工和Bootstrap资源收集
      • 布局,表格,分页
    • 后端收藏
      • Linux软件收集
      • 使用Docker记录
      • Centos使用记录
      • 应用系统收藏
      • Java的特性
    • 经验收藏
    • 其他收藏
  • Linux命令
  • 现实生活
    • 梦里故乡
  • 相册
    • 我的摄影
    • 故乡
    • 生活
    • 人物
    • 风景
    • 其他
  • 经历
  • 首页
  • 专业技术
    • 前端
      • javascript
      • 美工
    • 服务端
      • 设计模式
        • 创建型模式
        • 结构型模式
        • 行为型模式
      • Java
      • J2EE
      • Spring
      • Hibernate&Mybatis
      • PHP
      • Python
      • 工作流
    • 移动
    • 数据库
      • 大数据
    • 加解密
  • 专业工具
    • OS
    • 开源软件
    • Maven
    • WordPress
  • 我的收藏
    • 应用软件收藏
    • Android使用记录
    • 前端收藏
      • 移动开发框架插件收集
      • 优秀网站收集
      • CSS3效果插件
      • JS优秀插件收集
      • 图片图表图标插件
      • 前台美工和Bootstrap资源收集
      • 布局,表格,分页
    • 后端收藏
      • Linux软件收集
      • 使用Docker记录
      • Centos使用记录
      • 应用系统收藏
      • Java的特性
    • 经验收藏
    • 其他收藏
  • Linux命令
  • 现实生活
    • 梦里故乡
  • 相册
    • 我的摄影
    • 故乡
    • 生活
    • 人物
    • 风景
    • 其他
  • 经历
首页 / Java / 开源软件 / Aspose.Slides for Java 转成pdf和图片等

Aspose.Slides for Java 转成pdf和图片等

Aspose.Slides for Java 转成pdf和图片等 2017年6月19日 不静之心 Java开源软件

1
2
3
4
5
6
        <dependency>
            <groupId>com.aspose</groupId>
            <artifactId>aspose-slides</artifactId>
            <version>16.7.0</version>
            <!--<version>17.5-jdk16</version>-->
        </dependency>

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package com.pandy.aspose;
 
import com.aspose.slides.ISlide;
import com.aspose.slides.License;
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
 
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
 
/**
* <version>16.7.0</version>
* 由于ASPOSE比较吃内存,操作大一点的文件就会堆溢出,所以请先设置好java虚拟机参数:-Xms1024m -Xmx1024m(参考值)<br>
*/
public class TestSlides {
 
    private static InputStream license;
 
    /**
     * 获取license
     *
     * @return
     */
    public static boolean setLicense() {
        boolean result = false;
        try {
            ClassLoader loader = Thread.currentThread().getContextClassLoader();
            license = new FileInputStream(loader.getResource("license.xml").getPath());// 凭证文件
 
            License aposeLic = new License();
            aposeLic.setLicense(license);
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }
 
    private static void covToPDF(Presentation pres) {
        try {
            //输出一个pdf
            System.out.println("开始PDF");
            pres.save(new FileOutputStream(new File("/home/pandy/桌面/temp/test.pdf")), SaveFormat.Pdf);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    private static void covToHTML(Presentation pres) {
        try {
            //输出一个html文件
            System.out.println("开始Html");
            pres.save(new FileOutputStream(new File("/home/pandy/桌面/temp/test.html")), SaveFormat.Html);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    private static void covToPageImage(Presentation pres) {
        try {
            System.out.println("开始Image");
            Presentation htmlPagePres = null;
            for (int i = 0; i < pres.getSlides().size(); i++) {
                ISlide slide = pres.getSlides().get_Item(i);
                BufferedImage image = slide.getThumbnail(new java.awt.Dimension(800, 500));
                //每一页输出一张图片
                File outImage = new File("/home/pandy/桌面/temp/test" + i + ".jpg");
                ImageIO.write(image, "JPG", outImage);
                System.out.println(outImage.getAbsoluteFile().toString());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    private static void covToPageHtml(Presentation pres) {
        try {
            System.out.println("开始Image");
            Presentation htmlPagePres = null;
            for (int i = 0; i < pres.getSlides().size(); i++) {
                ISlide slide = pres.getSlides().get_Item(i);
                //每一页输出一个html文件
                htmlPagePres = new Presentation();
                htmlPagePres.getSlides().addClone(slide);
                htmlPagePres.getSlides().removeAt(0);
                htmlPagePres.save(new FileOutputStream(new File("/home/pandy/桌面/temp/test" + i + ".html")), SaveFormat.Html);
                System.out.println("/home/pandy/桌面/temp/test" + i + ".html");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        // 验证License
        if (!setLicense()) {
            return;
        }
        try {
            long old = System.currentTimeMillis();
            InputStream fileInput = new FileInputStream("/home/pandy/文档/test.ppt");// 待处理的文件
 
            System.out.println("开始读取");
            Presentation pres = new Presentation(fileInput);
 
            covToPDF(pres);
 
            covToHTML(pres);
 
            covToPageImage(pres);
 
            covToPageHtml(pres);
 
            long now = System.currentTimeMillis();
            System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

后一篇
前一篇

发表评论 取消回复

电子邮件地址不会被公开。

后一篇
前一篇

  •      做自己喜欢做的,跟家人同等重要

  • 访问信息

    • 2,834
    • 2,010
    • 28,957
    • 126,123
    • 5,407,518
    • 1,925
    • 2024年3月5日
  • 功能

    • 登录
    • 文章RSS
    • 评论RSS
    • WordPress.org
  • 近期评论

    • 匿名发表在《我们农村吃过的野果》
    • 请看小说阅读网发表在《使用CSS + svg 实现中间镂空的图片遮罩效果,css遮罩》
    • 嘀嗒小说网,嘀嗒小说阅读网发表在《BI 开源工具介绍》
    • 瓜子小说网发表在《HTML 标签及在实际开发中的应用》
    • 爱趣发表在《WordPress固定链接设置技巧》
    • 全天电影网发表在《WordPress固定链接设置技巧》
    • java面试题收集 – 不静之心发表在《58到家数据库30条军规解读》
    • 不静之心发表在《CentOS6.4邮件配置三: 花生壳 + 自定义DNS解析 + Dovecot 配置收外网信件》
    • Evan发表在《CentOS6.4邮件配置三: 花生壳 + 自定义DNS解析 + Dovecot 配置收外网信件》
    • 不静之心发表在《spring+mybatis+jta/druid+atomikos 两种方式》

粤ICP备16057205号-1 , 潘永郑[ panyongzheng@163.com ]