Java实现PPT转MP4文件

环境要求

必须是Windows电脑,已安装微软Office且已激活。

引入Jar

首先在pom中引入jar包

<dependency>
  <groupId>cc.pptshow</groupId>
  <artifactId>pptshow</artifactId>
  <version>1.3</version>
</dependency>

编写测试代码

这个jar包已经封装好了这个方法,可以直接使用即可

PPTUtil.PPT2MP4(String pptPath, String mp4Path)

第一个参数是PPT文件地址

第二个参数是需要生成的mp4文件路径

因为系统原因,目前不支持并行生成

注意:

  1. 系统必须已经安装并激活微软的Office
  2. 仅限Windows系统
  3. 生成过程可能存在Office软件出现异常导致无法转换的可能,所以务必先测试好自己的Office不是精简版,有这个功能才可以!

 

压缩MP4

生成的视频一般会比较大(100M以上),一般我们需要压缩后使用

压缩要求我们电脑已经安装了ffmeng,且配置了环境变量

PPTUtil.mp4Compression(String bigMp4Path, String smallMp4Path)

bigMp4Path:PPT2MP4方法生成的MP4文件

smallMp4Path:缩小后的文件储存路径,.mp4结尾,不支持覆盖写入,必须此路径不存在文件

压缩生成的MP4文件,自动压缩为1280x720大小15帧的视频,一般25页PPT视频压缩后在20MB左右

注意:

  1. 必须电脑安装了ffmeng,且添加了环境变量
  2. 暂不支持调整参数

Tips

支持动画操作(元素动画、页面换页动画都支持)

支持中文字体,不需要提前转换字体(前提是电脑安装了字体) 

 

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
实现PPTPDF,可以使用Apache POI和Apache PDFBox两个Java库。具体步骤如下: 1. 使用Apache POI读取PPT文件,获取每一页的内容和样式信息。 2. 创建一个PDF文档对象,使用Apache PDFBox。 3. 将每一页的内容和样式信息写入PDF文档对象中。 4. 保存PDF文档对象到本地文件。 以下是一个简单的PPTPDF的Java代码示例: ```java import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.hslf.usermodel.HSLFSlideShow; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDPageContentStream; import org.apache.pdfbox.rendering.PDFRenderer; import org.apache.pdfbox.tools.imageio.ImageIOUtil; public class PptToPdfConverter { public static void convert(String pptFilePath, String pdfFilePath) throws IOException { // 读取PPT文件 HSLFSlideShow ppt = new HSLFSlideShow(new FileInputStream(pptFilePath)); // 创建PDF文档对象 PDDocument pdf = new PDDocument(); // 遍历PPT每一页,将内容写入PDF文档对象中 for (int i = 0; i < ppt.getSlides().size(); i++) { PDPage page = new PDPage(); pdf.addPage(page); PDPageContentStream contentStream = new PDPageContentStream(pdf, page); contentStream.drawImage(new PDFRenderer(ppt.getSlides().get(i)).renderImageWithDPI(300), 0, 0); contentStream.close(); } // 保存PDF文档对象 pdf.save(pdfFilePath); pdf.close(); // 释放PPT文件资源 ppt.close(); } public static void main(String[] args) throws IOException { String pptFilePath = "test.ppt"; String pdfFilePath = "test.pdf"; convert(pptFilePath, pdfFilePath); } } ``` 该代码使用了Apache POI的HSLFSlideShow类读取PPT文件,使用了Apache PDFBox的PDDocument类创建PDF文档对象和PDPage类创建PDF页面对象,使用了PDFRenderer类将PPT页面换成PDF页面,使用了PDPageContentStream类将PDF页面写入PDF文档对象中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员麻薯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值