Wps文档文件转换成pdf,支持doc-docx-ppt-pptx-xls
在工作生活中,有很多时候需要将文件转换成相应的文件格式进行文件上传,然而这样在本地进行转换然后进行上传,无疑增加了工作时间,影响了用户的体验,不需要用户进行转换,这样提高了用户的体验,闲话不多说,上代码
代码如下:
转换文件的包放在代码最后
import java.io.EOFException;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;import org.apache.log4j.Logger;
import com.aspose.cells.PdfSaveOptions;
import com.aspose.cells.Workbook;
import com.aspose.slides.Presentation;
import com.aspose.words.Document;public class FileToPdf {private static Logger logger = Logger.getLogger(FileToPdf.class);/*** * @Title: getExcelLicense* @Description: 校验excel license 去除水印** @return** @author lxs* @date 2020-09-04 03:38:29 **/private static boolean getExcelLicense() {boolean result = false;try {InputStream is = AsposeUtil.class.getClassLoader().getResourceAsStream("/license.xml");com.aspose.cells.License aposeLic = new com.aspose.cells.License();aposeLic.setLicense(is);result = true;} catch (Exception e) {e.printStackTrace();}return result;}/*** * @Title: getPptLicense* @Description: 校验ppt license 去除水印** @return** @author lxs* @date 2020-09-04 03:38:14 **///校验licenseprivate static boolean getPptLicense() {boolean result = false;try {InputStream is = AsposeUtil.class.getClassLoader().getResourceAsStream("/license.xml");com.aspose.slides.License aposeLic = new com.aspose.slides.License();aposeLic.setLicense(is);result = true;} catch (Exception e) {e.printStackTrace();}return result;}/*** * @Title: getWordLicense* @Description: 校验word license 去除水印** @return** @author lxs* @date 2020-09-04 03:40:04 **/private static boolean getWordLicense() {boolean result = false;try {InputStream is = AsposeUtil.class.getClassLoader().getResourceAsStream("/license.xml");com.aspose.words.License aposeLic = new com.aspose.words.License();aposeLic.setLicense(is);result = true;} catch (Exception e) {e.printStackTrace();}return result;}/*----------excel转成pdf --------------------------------start*//*** excel 转为pdf 输出。** @param sourceFilePath excel文件* @param desFilePathd pad 输出文件目录*/public static void excel2pdf(String sourceFilePath, String desFilePathd ){if (!getExcelLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生return;}try {Workbook wb = new Workbook(sourceFilePath);// 原始excel路径FileOutputStream fileOS = new FileOutputStream(desFilePathd);PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();pdfSaveOptions.setOnePagePerSheet(true);int[] autoDrawSheets={3};//当excel中对应的sheet页宽度太大时,在PDF中会拆断并分页。此处等比缩放。
// autoDraw(wb,autoDrawSheets);int[] showSheets={0};//隐藏workbook中不需要的sheet页。printSheetPage(wb,showSheets);wb.save(fileOS, pdfSaveOptions);fileOS.flush();fileOS.close();} catch (Exception e) {e.printStackTrace();}}/*** 设置打印的sheet 自动拉伸比例* @param wb* @param page 自动拉伸的页的sheet数组*/public static void autoDraw(Workbook wb,int[] page){if(null!=page&&page.length>0){for (int i = 0; i < page.length; i++) {wb.getWorksheets().get(i).getHorizontalPageBreaks().clear();wb.getWorksheets().get(i).getVerticalPageBreaks().clear();}}}/*** 隐藏workbook中不需要的sheet页。* @param wb* @param page 显示页的sheet数组*/public static void printSheetPage(Workbook wb,int[] page){for (int i= 1; i < wb.getWorksheets().getCount(); i++) {wb.getWorksheets().get(i).setVisible(false);}if(null==page||page.length==0){wb.getWorksheets().get(0).setVisible(true);}else{for (int i = 0; i < page.length; i++) {wb.getWorksheets().get(i).setVisible(true);}}}/*--------excel转成pdf --------------------------------end*//*--------word转成pdf --------------------------------start*/public static void wordToPdf(String sourceFilePath, String desFilePathd ){if (!getWordLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生return;}FileOutputStream os = null;Document doc;try {File file = new File(desFilePathd);os = new FileOutputStream(file);doc = new Document(sourceFilePath);doc.save(os, com.aspose.words.SaveFormat.PDF);} catch (Exception e) {e.printStackTrace();} finally {try {os.close();} catch (IOException e) {e.printStackTrace();}}}/*--------word转成pdf --------------------------------end*//*--------ppt转成pdf --------------------------------start*//**** @param args*/public static void pptToPdf(String sourceFilePath, String desFilePathd) {// 验证Licenseif (!getPptLicense()) {return;}try {// long old = System.currentTimeMillis();File file = new File(desFilePathd);// 输出pdf路径Presentation pres = new Presentation(sourceFilePath);//输入pdf路径FileOutputStream fileOS = new FileOutputStream(file);pres.save(fileOS, com.aspose.slides.SaveFormat.Pdf);fileOS.close();} catch (Exception e) {e.printStackTrace();}}/*--------ppt转成pdf --------------------------------end*/}
链接: https://pan.baidu.com/s/1v7196XiN71lpa2Ij5Bm-_g .
提取码:QSAD。
总结
之前找了好几个转换的,不是付费就是只能在win上面转换。不喜勿喷,第一次写博客,请大佬们多指教
Wps文档文件转换成pdf,支持doc-docx-ppt-pptx-xls相关推荐
- html虚拟打印转为pdf,Doro PDF Writer 虚拟打印机 – 可将任何格式图片/文档/文件转换成 PDF格式...
在办公领域经常要用到 PDF 格式文档,因此常常有图片.表格.Word 等各种不同格式的文档转换成 PDF 格式的需求.虽然网上有很多在线转换网站或 PDF 转换软件,不过今天推荐的是通用性更强的软件 ...
- 使用poi根据模版生成word文档并转换成PDF文件(可处理doc文件与docx文件版)
该篇文章是<使用poi根据模版生成word文档并转换成PDF文件>后续解决传入文件为doc文档或docx的处理方法 /*** 根据模板生成word** @param path 模板的路径* ...
- 手机word文档怎么转换成pdf?分享两种方法
手机word文档怎么转换成pdf?在如今信息化的时代,电子文档已经成为人们日常办公不可或缺的一部分.随着科技的不断进步,电子文档的格式也在不断发展.PDF作为电子文档的一种重要格式,被广泛使用.那么, ...
- 【PDF制作电子杂志】云展网教程 | Word/Excel文档如何转换成PDF
WORD转PDF教程请打开链接查看:点击<如何将word文件转换成pdf文件> EXCEL转PDF教程请打开链接查看:点击<怎样将Excel转化为PDF>
- PPT文档怎么转换成PDF文件?告诉你3种好用的方法
不知道经常需要进行演讲的小伙伴们,你们平时在制作完PPT文稿后,将文稿发送到其它设备上的时候,会不会出现格式错乱的问题呢?如果会的话也不用太过担心,我们只要将PPT文件转换为PDF格式就可以了,这是因 ...
- 使用poi根据模版生成word文档并转换成PDF文件
一.首先制作word模版(这里需要注意的是文件后缀是docx不能是doc),${xxxx}是一会要替换的内容 关于为何必须是docx后缀可以看这篇文章https://www.cnblogs.com/c ...
- 使用POI将office(doc/docx/ppt/pptx/xls/xlsx)文件转html格式(附带源码)
妹子我写代码很辛苦/(ㄒoㄒ)/~~ ,转载请标明出处哦~http://blog.csdn.net/u011791526/article/details/73250358 本项目使用poi将offic ...
- 基于C++的OpenCV项目实战——文档照片转换成扫描文件
基于C++的OpenCV项目实战--文档照片转换成扫描文件 一.背景 前段时间都是基于Python的OpecCV进行一些学习和实践,但小的知识点并没有应用到实际的项目中:并且基于Python的版本的移 ...
- PHP 把ofd格式文件转PDF,打开OFD格式文件及将OFD格式文件转换成PDF文件
今天收到一张浙江开具的ofd格式发票,便在网上找相关的软件来打开方便打印出来给财务做账,但是找了一大圈没有解决方案,有些收费的解决方法,大部分所谓的OFD软件是骗人的,下载安装后根本打不开OFD格式的 ...
- 怎么把图片文件转换成PDF文件
除了office文件外,我们最常用的就是PDF文件了.因为PDF文件格式可以将文字.字型.格式.颜色及独立于 设备和分辨率的图形图像等封装在一个文件中.该格式文件还可以包含超文本链接.声音和动态影像等 ...
最新文章
- ASP.NET验证控件详细使用解释
- 快速上手RaphaelJS--RaphaelJS_Starter翻译(二)
- 处理UTF-8编码的不连续的字节流
- 趣味编程:函数式链表的快速排序
- 每日一笑 | 程序员千万不能轻易去网吧!
- postgresql建表带注释_postgresql建表带自增id和注释语句
- python如果想测试变量的类型、可以使用_python里测试变量类型用什么
- apache和mysql 403_如何使用mysql(lamp)分离环境搭建dedecms织梦网站及apache服务器常见的403http状态码及其解决方法...
- bzoj千题计划152:bzoj3405: [Usaco2009 Open]Grazing2 移动牛棚
- 解决word或wps删除空白页后页面布局变乱
- 工具栏的打印图标不见了_任务栏打印机图标不见 - 卡饭网
- 基于STM32的简易数码相册
- vscode——VScode 中 使用 comment translate翻译 插件
- 解决DoubanFM第三方客户端UI线程与工作线程交互问题
- Spark~Spark介绍
- 计院生活--第一章 卧薪尝胆
- 如何让电脑恢复出厂设置
- JS格式化json并展示
- Python开源游戏推荐,《帝国时代2》
- 一文看懂Filter过滤器