Springboot ppt转pdf——aspose方式

2023-11-08

Springboot ppt转pdf——aspose方式

1. 下载ppt转pdf所需要的包

[网盘地址](https://pan.baidu.com/s/1V-CZ0zXcJzKofxr6qC1g8A)
提取码:86lp

2. maven添加依赖

  1. 在项目根目录创建lib文件夹
  2. 将下载的aspose-slides.jar包,放在lib目录下在这里插入图片描述
  3. 在pom.xml 引入本地依赖包
    <dependency>
            <groupId>com.aspose</groupId>
            <artifactId>aspose-slides</artifactId>
            <version>19.3</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/aspose.slides-19.3.jar</systemPath>
        </dependency>

3. 将license.xml文件放置在resources根目录下(去水印)

在这里插入图片描述

4. 创建java类,编写代码



import com.aspose.slides.License;
import com.aspose.slides.Presentation;

import com.aspose.slides.SaveFormat;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;

import java.io.*;
import java.util.Date;

public class PPT2PdfAsposeUtil {
    public static boolean getLicensePPT() {
        boolean result = false;
        InputStream is = null;
        try {
            ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
            org.springframework.core.io.Resource[] resources = resolver.getResources("classpath:license.xml");
            is = resources[0].getInputStream();
            License aposeLic = new License();
            aposeLic.setLicense(is);
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (is != null) {
                try {
                    is.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return result;
    }

    /**
     *
     * @param inPath ppt路径
     * @param outPath pdf路径
     * @return
     */
    public static boolean ppt2Pdf(String inPath,String outPath){
        // 验证License 去除水印
        if (!getLicensePPT()) {
            return false;
        }
        long start = new Date().getTime();
        try {
            FileInputStream fileInput = new FileInputStream(inPath);
            Presentation pres = new Presentation(fileInput);
            FileOutputStream out = new FileOutputStream(new File(outPath));
            pres.save(out, SaveFormat.Pdf);
            out.close();
        } catch (Exception e) {
             e.printStackTrace();
            return false;
        }
        long end = new Date().getTime();
        System.out.println("pdf转换成功,共耗时:" + ((end - start) / 1000.0) + "秒"); // 转化用时
        return true;
    }

    public static void main(String[] args) {
        ppt2Pdf("E:\\code\\test\\1.pptx","E:\\code\\test\\1.pdf");
    }
}

5. 测试

执行main方法

 public static void main(String[] args) {
        ppt2Pdf("E:\\code\\test\\1.pptx","E:\\code\\test\\1.pdf");
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Springboot ppt转pdf——aspose方式 的相关文章

  • 从 Windows 命令行打印 PDF

    我正在尝试打印当前目录中的所有 pdf 文件 当我在 cmd 中调用这个 bash 脚本时 singlepdf sh C Program Files x86 Adobe Reader 10 0 Reader AcroRd32 exe t G
  • 使用 iText 和 Batik 生成 PDF

    我正在尝试将文本和 SVG 图形导出为 PDF 我发现 iText 和 batik 可以做到这一点 所以我尝试这样做 但每次我放入图表时 它都会变得非常小 我认为这可能与我的代码有关 所以我想我应该尝试 Vaadin 的示例代码 publi
  • 如何使用 PDFMiner 获取 PDF 中文本的位置? [复制]

    这个问题在这里已经有答案了 PDFMiner 的文档说 PDFMiner 允许获取页面中文本的确切位置 但是 我一直无法找到如何做到这一点 PDFMiner 的 文档 相当稀疏 所以我不明白如何做到这一点 您正在寻找bbox每个布局对象上的
  • 从请求响应创建 PDF 不适用于 axios,但适用于本机 xhr

    为了强制从服务器下载 PDF 我尝试使用 axios 和本机 xhr 对象 原因是我必须发送post请求 因为我向服务器传递了太多数据 所以带有简单链接的选项 例如site ru download pdf对我不起作用 尽管我最终设法用 Xh
  • 如何从 Powerpoint 2010 导出电影?

    如何使用 MS Office PIA 主互操作程序集 或其他方式以编程方式将嵌入视频从 powerpoint 2010 导出到外部文件 在演示文稿中嵌入视频是 Powerpoint 2010 中的一项新功能 我找不到解决方案 PPTX 文件
  • 如何打开PDF并阅读?

    我如何打开 PDF 文件并使用 Python 读取其中的一些内容 这种语言是首选 但是 Ruby Perl 或 PHP 也可以 以防它被识别 不仅仅是图像 或报告说如果没有它就不可能光学字符识别 TIA 更新 感谢您的解决方案 我确信其中一
  • 内容处置:ASP.Net 中的内联 PDF 文件不起作用

    我正在尝试将带有标题的 PDF 文件返回到浏览器Content Dispostion inline就在我创建这个文件之后 浏览器的查看者无法打开它 文件没有损坏 如果我放入浏览器 查看器会正确显示文件 但我想一次性创建文件并检查用户对文件的
  • 从 .docx 转换为 pdf 时,图像显示效果不佳

    我转换了 docx文件至 pdf文件中 文本转换得很好 但是图像 docx文件没有出现 而是表示为一些特殊字符 下面是我的代码 import com lowagie text Document import com lowagie text
  • 合并两个 Jasper 报告

    我有一个带有下拉菜单的网络应用程序 用户可以从中选择报告可视化的类型 报告 1 报告 2 报告 3 等 根据所选的报告 Jasper 报告将在服务器上编译并以 PDF 格式的弹出窗口打开 在服务器端 我使用下面的代码以单独的方法实现每个报告
  • 从图像创建 PDF 时设置文档名称

    我使用以下代码从 jpg 图像创建 pdf im new Imagick im gt readImage image jpg im gt setImageFormat pdf im gt writeImage images pdf imag
  • 如何将div内容添加到jspdf中的新页面?

    如何将div内容添加到jspdf中的新页面 我尝试使用 br 它创建了一个新页面 但我看不到内容 div div style margin 3px 430px First Page div div Place content to Seco
  • 创建 PDF/A-3:嵌入文件应包含有效的 Params 密钥

    我正在尝试使用 itextpdf 5 4 5 和 itext pdfa 5 4 5 创建 PDF A 3 当我设置 PdfFileSpecification 时 出现以下异常 com itextpdf text pdf PdfAConfor
  • 使用 apache PDF-Box 插入 PDF 附件的缩略图

    我有一个代码可以将文件附加到 PDF 文件 PDDocument doc new PDDocument PDPage page new PDPage doc addPage page read attachment file File fi
  • 在 Swift 中从 UIScrollView 创建 PDF 文件

    我想从 UIScrollView 的内容创建一个 PDF 文件 func createPdfFromView aView UIView saveToDocumentsWithFileName fileName String let pdfD
  • 适用于 iPhone / iPad / iOS 的快速、精益 PDF 查看器 - 提示和提示?

    最近有很多关于绘制 PDF 的问题 是的 您可以使用UIWebView但这无法提供您所期望的优秀 PDF 查看器的性能和功能 您可以绘制PDF页面到 CALayer http www cocoabuilder com archive coc
  • 文本挖掘 pdf 文件/词频问题

    我正在尝试挖掘一篇具有丰富 pdf 编码和图表的文章的 pdf 我注意到 当我挖掘一些 pdf 文档时 我得到的高频词是 phi taeoe toe sigma gamma 等 它与某些 pdf 文档配合良好 但与其他文档配合使用时却得到这
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • USB 上的 Autorun.inf 可以让它运行 pdf 吗?

    我在网上做了一些研究 我想我只是在寻找构象 由于 Microsoft 如何在 Vista 及更高版本中对自动运行设置安全性 从 USB 自动运行不再起作用 正确的 看起来它仍然会显示运行 exe 的选项 但由于某些奇怪的原因我无法让它运行
  • 使用 webkit 转换 Html 到 PDF

    从 Html 生成 PDF 时 webkit 转换不起作用 我需要将 div 旋转 45 度 使用 webkit 变换后 它在屏幕上看起来没问题 但使用 winnovatives Html 到 PDF 转换器时 输出是平坦的而不是旋转的 有
  • 如何将pdf页面设置设置为打印属性对话框?

    大家好 我想知道如何设置 pdf 页面设置到打印属性对话框 例如 如果我的 PDF 页面设置为横向 则布局会自动显示横向而不是纵向 如果我的 PDF 页面设置为纵向 则布局会自动显示纵向 我在这个主题上做了很多研发 但没有找到任何满意的链接

随机推荐

  • 纠错编码算法——RS编码的Matlab实现

    纠错编码算法 RS编码的Matlab实现 纠错编码是一种将数据加入冗余信息以提高数据传输质量和容错能力的方法 而RS码则是其中一种经典的纠错编码算法 本文将介绍RS码的基本原理 并提供Matlab实现源代码 一 RS编码的原理 RS编码全称
  • 3D人体重建方法漫谈

    转自 https blog csdn net Asimov Liu article details 96442990 1 概述 2 模型匹配的方法 2 1SMPL Skinned Multi Person Linear model 模型 2
  • 过滤器Filter理解

    1 背景 在设计web应用的时候 用户登录 注册是必不可少的功能 对用户登录信息进行验证的方法也是多种多样 大致可以认为如下模式 前端验证 后台验证 根据笔者的经验 一般会在前端进行一些例如是否输入数据 输入的数据的格式是否正确等一系列的验
  • Java用poi导入导出Excel

    前言 1 将用户信息导出为excel表格 导出数据 2 将Excel表中的信息录入到网站数据库 习题上传 开发中经常会设计到excel的处理 如导出Excel 导入Excel到数据库中 操作Excel目前比较流行的就是 Apache POI
  • 小程序设置按钮分享功能

    一般小程序分享可以通过右上角的分享功能进行分享 如果想要在页面内进行按钮设置 可以这样子设置 效果图 WXML中 定义button按钮来触发分享事件 在button标签上写上 open type share 属性
  • 刷题之字符串的排列 以及双指针滑动窗口

    刷题 给你两个字符串 s1 和 s2 写一个函数来判断 s2 是否包含 s1 的排列 如果是 返回 true 否则 返回 false 换句话说 s1 的排列之一是 s2 的 子串 示例 1 输入 s1 ab s2 eidbaooo 输出 t
  • 力扣练习题之数组中找两个数之和等于目标数值详细讲解

    力扣练习题 1 0 题目 给定一个整数数组 nums 和一个整数目标值 target 请你在该数组中找出 和为目标值 target 的那 两个 整数 并返回它们的数组下标 你可以假设每种输入只会对应一个答案 但是 数组中同一个元素在答案里不
  • 图的深度优先遍历

    深度优先查找 原理 深度优先搜索可以从图的任意顶点开始 然后把该顶点标记为已经访问 每次迭代的时候 深度搜索紧接着处理与当前顶点邻接的未访问顶点 如果有若干个顶点 则任意选择一个 也可以按自己的条件选择 让这个过程一直持续 直到遇到一个终点
  • 2018年蓝桥杯第九届省赛b组第四题--测试次数

    第四题 标题 测试次数 x星球的居民脾气不太好 但好在他们生气的时候唯一的异常举动是 摔手机 各大厂商也就纷纷推出各种耐摔型手机 x星球的质监局规定了手机必须经过耐摔测试 并且评定出一个耐摔指数来 之后才允许上市流通 x星球有很多高耸入云的
  • 冯诺依曼体系结构、哈佛体系结构

    冯诺依曼体系结构 哈佛体系结构与改进型哈佛结构之间的区别 1 冯 诺依曼结构 冯 诺依曼结构又称作普林斯顿体系结构 Princetionarchitecture 1945年 冯 诺依曼首先提出了 存储程序 的概念和二进制原理 后来 人们把利
  • Vue之单文件组件和脚手架

    简介 主要介绍单文件组件的定义和编写方法和脚手架相关知识介绍 单文件组件的定义是一个文件只有一个组件 使用xxx vue文件 这个文件是vue团队定义的一种文件类型 xxx vue文件里面可以使用三个标签
  • SpringBoot 之AOP实现过滤器、拦截器、切面

    文章目录 AOP概述 AOP底层实现机制 过滤器 拦截器 切面区别 过滤器 Filter 使用过滤器统一请求耗时 拦截器 Interceptor 使用拦截器判断是否登录 AspectJ 简介 AspectJ 注解开发 AOP AOP 注解说
  • 【C语言进阶】文件操作

    博客主页 小王又困了 系列专栏 C语言 人之为学 不日近则日退 感谢大家点赞 收藏 评论 目录 一 什么是文件 1 1程序文件 1 2数据文件 1 3文件名 二 文件的打开和关闭 2 1文件指针 2 2文件的打开和关闭 三 文件的顺序读写
  • voc格式标签读写操作

    image load imagePath imageShape image height image width 1 if image isGrayscale else 3 writer PascalVocWriter imgFolderN
  • 使用51单片机ADC0808测量电压

    1 protues仿真图 程序 include
  • 第10篇:强化学习Q-learning求解迷宫问题 代码实现

    你好 我是郭震 zhenguo 今天重新发布强化学习第10篇 强化学习Q learning求解迷宫问题 代码实现 我想对此篇做一些更加详细的解释 1 创建地图 创建迷宫地图 包括墙网格 走到墙网格就是负奖励 注意 空白可行走网格奖励值设置为
  • 利用梳状函数求解周期函数傅里叶变换

    本文对梳状函数 1 单位冲激函数 2 梳状函数及其傅里叶变换 3 卷积和傅里叶变换 卷积是一种运算方式 针对线性时不变系统 最基础的应用就是 在时域中 一个输入 卷积上单位冲激响应 就可以得到输出 傅立叶变换的主要作用就是让函数在时域和频域
  • 在Ubuntu中配置中文输入法

    找到设置 选择区域和语言 点击Manage Installed Languagees 提示安装的话安装即可 4 点击图示内容 5 将Chinese simplified 勾选上 右键点击住 将汉语拖到第一位 重启Ubuntu 6 在输入源中
  • linux设备树节点添加新的复位属性之后设备驱动加载异常问题分析

    linux设备树节点添加新的复位属性之后设备驱动加载异常问题分析 1 linux原始设备驱动信息 1 1 设备树节点信息 1 2 linux设备驱动 1 3 makefile 1 4 Kconfig 1 5 对应的defconfig文件 2
  • Springboot ppt转pdf——aspose方式

    Springboot ppt转pdf aspose方式 1 下载ppt转pdf所需要的包 网盘地址 https pan baidu com s 1V CZ0zXcJzKofxr6qC1g8A 提取码 86lp 2 maven添加依赖 在项目