Java将Excel文件、Word文件转为PDF
因为要做文件在线预览 . 网上找了方法是需要调用公网微软地址传入我的文件路径
<iframe src='https://view.officeapps.live.com/op/view.aspx?src=http://storage.xuetangx.com/public_assets/xuetangx/PDF/1.xls' width='100%' height='100%' frameborder='1'> </iframe>
但是, 我们项目是内网项目, 无法实现
PDF在页面预览已经实现 , 因此想着可否将Excel 与 Word文件首次预览的时候 , 转为PDF在页面显示 , 第二次预览直接调用就行
下面这个方法只支持Windows系统
首先需要在电脑安装 SaveAsPDFandXPS
需要下载 jacob-1.19 (jar包放入项目 , 两个dll文件放入你本地的jre下的bin目录)
下面是代码(亲测)
private static final int wdFormatPDF = 17;// PDF 格式 /*** 将word转为pdf* @param wordPath* @param pdfPath*/public String wordToPDF(String wordPath, String pdfPath){ ActiveXComponent app = null; Dispatch doc = null; try { app = new ActiveXComponent("Word.Application"); app.setProperty("Visible", new Variant(false)); Dispatch docs = app.getProperty("Documents").toDispatch(); doc = Dispatch.call(docs, "Open" , wordPath).toDispatch(); File tofile = new File(pdfPath); if (tofile.exists()) { tofile.delete(); } Dispatch.call(doc,"SaveAs", pdfPath, wdFormatPDF); if(app != null){app.invoke("Quit",new Variant[]{});app = null;}ComThread.Release();return "";} catch (Exception e) { e.printStackTrace();return e.toString(); }}/*** 将excel转为pdf* @param wordPath* @param pdfPath*/public String excelToPdf(String excelPath, String pdfPath){ComThread.InitSTA(true);ActiveXComponent ax=new ActiveXComponent("Excel.Application");try{ax.setProperty("Visible", new Variant(false));ax.setProperty("AutomationSecurity", new Variant(3)); //禁用宏Dispatch excels=ax.getProperty("Workbooks").toDispatch();// 读取ExcelDispatch excel=Dispatch.invoke(excels,"Open",Dispatch.Method,new Object[]{excelPath,new Variant(false),new Variant(false)},new int[9]).toDispatch();// 转换格式Dispatch.invoke(excel,"ExportAsFixedFormat",Dispatch.Method,new Object[]{new Variant(0), // PDF 格式 = 0pdfPath,new Variant(0) // 0 = 标准 (生成的PDF图片不会变模糊) 1 = 最小文件 (生成的PDF图片糊的一塌糊涂)},new int[1]);Dispatch.call(excel, "Close",new Variant(false));if(ax!=null){ax.invoke("Quit",new Variant[]{});ax=null;}ComThread.Release();return "";}catch(Exception es){es.printStackTrace();return es.toString();}}
Java将Excel文件、Word文件转为PDF相关推荐
- java excel转pdf linux,从JAVA直接读取EXCEL、WORD并生成PDF文件
从JAVA直接读取EXCEL.WORD并生成PDF文件 1.操作EXCEL和WORD文件 使用JAVA从EXCEL.WORD文件中读写数据,可以使用http://jexcelapi.sourcefor ...
- java实现CAD图纸文件DWG格式转为PDF格式
通过java代码实现CAD图纸文件DWG格式转为PDF格式 这种DWG格式转PDF功能比较少,网上资料也不多,大部分都是让你用第三方插件去做的:我自己找了一下,还是有这方面的jar的,然后整理了一下, ...
- Java实现Excel和word转pdf加水印,复制及可用
Java实现Excel和word转pdf加水印,复制及可用 时隔大半年,之前朋友,今天突然找我说,他们有个需求要做这东西.想起来之前自己照着官方文档写,也走了不少坑.今天就索性写个,也为了方便以后使用 ...
- java pdf 转word源码_Java 实现word模板转为pdf
1. pom相关依赖 工具poi-tl (操作word文档模板) + jacob (将操作后的word模板转为pdf) com.deepoove poi-tl 1.9.1 com.jacob jaco ...
- GridView导出到Excel或Word文件
在项目中我们经常会遇到要求将一些数据导出成Excel或者Word表格的情况,比如中国移动(我是中国移动用户)网上查话费的页面中就有一个导出到Excel的功能,光大网上银行查看历史明细也有这些功能... ...
- 应用MIME将ZPT内容输出为excel文件(word文件)
应用MIME将ZPT内容输出为excel文件(word文件) MIME (Multipurpose Internet Mail Extensions),意为多目的Internet邮件扩展,它设计的最初 ...
- Java导出Excel表格出现文件损坏异常解决方案
Java导出Excel表格出现文件损坏异常解决方案 问题出现 问题出现 本人遇到这个问题,由于是第一次见,感觉无从下手.但是导出功能很常见,做的也很多,只有这个出现了文件损坏,那很可能是代码写的有问题 ...
- java对比俩个word文件内容差异
java对比俩个word文件内容差异 添加依赖: <dependency><groupId>e-iceblue</groupId><artifactId> ...
- Java导出Excel和Word
1.导出word a.打开需要导出的word模板,另存为xml文件 b.java中使用 //生成word文件 public void downWordAcceptRegist(HttpServletR ...
- word 批量转为pdf代码
新建一个word,然后点击文件--选项--自定义功能区--开发工具--插入--模块--输入以下代码,然后运行,弹出对话框,选择需要转化的word所在的文件夹(将所有需要转化的word都放在一个文件夹中 ...
最新文章
- vmstat参数解释
- php中获取ip的地域信息比较精准
- 再谈变分自编码器VAE:从贝叶斯观点出发
- bootstrap网格系统_如何使用Bootstrap网格系统?
- 有源代码的iphone项目
- elixir 规格_Elixir:一种高画质的编程语言
- [html] HTML5如何播放ts视频流?
- iou画 yolov3_专栏 | 【从零开始学习YOLOv3】4. YOLOv3中的参数进化
- 温昱谈程序员向架构师转型的规律
- tomcat处理连接的详细过程
- 田汉卿:量化投资与风险控制(会议纪要)
- POJ_3984迷宫问题(bfs基础题)
- 关于给电鼓音源增加鼓盘或者DIY鼓盘(DIY镲片)的方法
- matlab竞赛论文模板,数学建模竞赛论文模板.doc
- Exchange Server 2010 部署全攻略(一)
- 应用华为大数据平台配置大数据项目①
- 软考数据库考试有题库吗_网络工程师真的像大家说的那么容易考吗?
- 小Biu的区间和——UPC
- php搜索引擎开源源码,PHP搜索引擎源代码
- March 4 2017 Week 10 Saturday