java将office转换为的思路:借助第三方的插件;

1、项目中先引入jar包:

解释一下:aspose-cells.jar是用来Excel的转换的,aspose-slides.jar是用来PPT转换的,aspose-word是用来word转换的,license.xml是用来去水印的,这里暂时只有word去水印的。

2、新建一个转换的工具类:基本不用改,复制就能用。

public class YdUtils {//校验licenseprivate static boolean judgeLicense() {boolean result = false;try {InputStream is = YdUtils.class.getResourceAsStream("/lib/license.xml");License aposeLic = new License();aposeLic.setLicense(is);result = true;} catch (Exception e) {e.printStackTrace();}return result;}public static void trans(String filePath, String pdfPath, String type) {if (!judgeLicense()) {System.out.println("license错误");}try {System.out.println("as开始:" + filePath);long old = System.currentTimeMillis();File file = new File(pdfPath);toPdf(file, filePath, type);long now = System.currentTimeMillis();System.out.println("完成:" + pdfPath);System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒");} catch (Exception e) {e.printStackTrace();}}private static void toPdf(File file, String filePath, String type) {if ("word".equals(type) || "txt".equals(type)) {wordofpdf(file, filePath);} else if ("excel".equals(type)) {exceOfPdf(file, filePath);} else if ("ppt".equals(type)) {pptofpdf(file, filePath);}else{System.out.println("暂不支持该类型:"+type);}}private static void wordofpdf(File file, String filePath) {FileOutputStream os = null;Document doc;try {os = new FileOutputStream(file);doc = new Document(filePath);doc.save(os, com.aspose.words.SaveFormat.PDF);} catch (Exception e) {e.printStackTrace();} finally {try {os.close();} catch (IOException e) {e.printStackTrace();}}}private static void exceOfPdf(File file, String filePath) {FileOutputStream os = null;try {os = new FileOutputStream(file);Workbook wb = new Workbook(filePath);wb.save(os, com.aspose.cells.SaveFormat.PDF);} catch (Exception e) {e.printStackTrace();} finally {try {os.close();} catch (IOException e) {e.printStackTrace();}}}private static void pptofpdf(File file, String filePath) {FileOutputStream os = null;try {os = new FileOutputStream(file);Presentation pres = new Presentation(filePath);// 输入pdf路径pres.save(os, SaveFormat.PDF);} catch (Exception e) {e.printStackTrace();} finally {try {os.close();} catch (IOException e) {e.printStackTrace();}}}

3、实际调用:这里需要做下判断,不同类型的文件需要传入不同的参数,YdUtils就是转换的工具类,trans就是转换方式,类型的参数不一样而已。第一个参数是需要转换的文件路径,第二个参数是转换成的PDF放在哪,第三个参数就是文件类型。

if (".pdf".equals(str)) {// 如果本身就是pdfs2 = scwj;} else if (".xlsx".equals(str) || ".xls".equals(str)) {YdUtils.trans(scwj,rootPath.substring(0,7) + "/pdf/" + s + ".pdf","excel");} else if (".doc".equals(str) || ".docx".equals(str) || ".txt".equals(str)){YdUtils.trans(scwj,rootPath.substring(0,7) + "/pdf/" + s + ".pdf","word");} else if (".ppt".equals(str) || ".pptx".equals(str)){YdUtils.trans(scwj,rootPath.substring(0,7) + "/pdf/" + s + ".pdf","ppt");}

4、直接调用,即可生成。附jar包下载,含license文件

java将office文件转化为PDF(含PPT、Excel、word)相关推荐

  1. java将HTML文件转化为pdf文件,如何使用Java将HTML网页转换为PDF文件

    我一直在互联网上搜索如何使用Java将HTML页面转换为PDF文件.我发现了很多指针,简而言之,它们不起作用或难以实现.我也下载了一个商业产品,pdf4ml;该API是我很乐意与之合作的,除了当我在维 ...

  2. PHP实现word(office文件)转PDF的功能并添加水印

    PHP实现word(office文件)转PDF的功能并添加水印 开发目的:用PHP实现在linux服务器上在线批量转换office文件成PDF文件,常应用于文件管理较多的后台管理系统. 技术选择: [ ...

  3. 如何在VB.NET中把excel文件转化为PDF文件

    文章目录 一.如何在VB.NET中把excel文件转化为PDF文件 二.使用步骤 一.如何在VB.NET中把excel文件转化为PDF文件 基于之前获取打印机端口号的教程 二.使用步骤 代码如下(示例 ...

  4. r语言的rmd文件转换成html,.Rmd文件转化为PDF报告

    使用R Markdown,knit和MikTex将.Rmd文件转化为pdf报告(只针对windows10, 可能windows系统都可以) 因为上课需要用到RStudio创建.Rmd文件,并且需要将该 ...

  5. 使用PDF24 将mathmatica 的.nb文件转化为PDF文档

    使用PDF24 将mathmatica 的.nb文件转化为PDF文档 对于mathematica保存后的.nb文档,如果电脑上没有mathematica 软件无法打开,更改为.docx无法打开,用MA ...

  6. Java把一个文件转化为byte字节数组

    Java把一个文件转化为byte字节数组 /*** 把一个文件转化为byte字节数组.** @return*/private byte[] fileConvertToByteArray(File fi ...

  7. C#使用指定打印机打印Word,Excel等Office文件和打印PDF文件的代码

    http://www.cnblogs.com/xiachufeng/archive/2010/07/31/1789136.html 打印,是做开发的人的经久不变的话题. 今天,用实例代码,说明.NET ...

  8. QQ浏览器可以处理pdf,ppt,word和excel文件您造吗?

    各位职场同仁几乎都需要使用ppt,word和excel,那么我们通常如何浏览和编辑这三种文件呢?相信大多数人默认选择微软的office,但是面临最大的问题就是需要收费.其次就是使用金山公司的wps o ...

  9. 好用到爆的Python自动化办公教程pdf,Python × Excel × Word × PPT 一次搞定

    在这个自动化时代,我们有很多重复无聊的工作要做.想想这些你不再需要一次又一次地做的无聊的事情,让它自动化,让你的生活更轻松.那么在本文中,我将向您介绍一个好用到爆的Python自动化办公教程pdf,P ...

最新文章

  1. hibernate 双向n-n
  2. SAS (Serial Attached SCSI) 技术详解
  3. Apache Flink 零基础入门(十六)Flink DataStream transformation
  4. python面试刷题app_Python面试的一些心得,与Python练习题分享
  5. 零基础学习WinCE开发
  6. JAVA多线程总结(笔记)
  7. 操作系统下查看HBA卡信息wwn的方法
  8. 一个很有意思的熊猫免疫器
  9. 利用html模板发送邮件
  10. QQ抢车位外挂(续)
  11. oracle归档日志循环,oracle归档日志增长过快处理方法,oracle归档日志
  12. 世界性能服务器图片欣赏,AMD发布全球最强服务器显卡-AMD,全球最强,服务器显卡,FirePro,S9000,S7000,虚拟机 ——快科技(驱动之家旗下媒体)--科技改变未来...
  13. Python之爬虫和数据小解析
  14. ESPIDF开发ESP32学习笔记【SPI与片外FLASH基础】
  15. 迅雷怎样打开html文件类型,迅雷看看怎么打开网页链接?迅雷看看打开种子文件方法...
  16. 应用程序正常初始化 0xc015002 失败
  17. 文件格式化输入和输出
  18. 4.微信登入小程序与后端实现
  19. halcon学习易错系列—创建空的object对象算子gen_empty_obj
  20. 我的第一篇博客,为什么要学软件工程

热门文章

  1. echarts 添加百分号%
  2. windows10批处理文件设置IP地址
  3. 渐变折射率(GRIN)多模光纤的建模
  4. 安装MySQL时cmake包的依赖问题
  5. 程序员必备的 17 款强有力武器,你拥有几个!
  6. Linux学习日志_虚拟化管理工具
  7. 安装XAMPP端口冲突问题
  8. iQQ 学习笔记3 :编写代码打包Ant脚本
  9. php显示excel2007,PHP输出Excel PHPExcel的方法
  10. java编写一个类book代表教材_java 请通过代码封装,实现如下需求: 编写一个类Book,代表教材:...