用到的jar包及插件:

jacob-1.18( jacob.jar)

jacob-1.18( jacob-1.18-x64.dll)(32位)

jacob-1.18( jacob-1.18-x86.dll)(64位)

1.dll文件根据电脑系统版本和jdk版本(32或者64位)来选择。

2.使用main方法时将dll文件放到C盘Windows\System32目录下,项目调用此方法时将dll文件放到jdk的jre\bin目录下。

3.需要注意一点如果运行还是报错的话,把x64.dll(32位)放到Windows\System32目录下,把x86.dll(32位)放到

Windows\SysWOW64目录下。这样肯定可行。

4.然后把jar包导入到项目工程中,注意对应版本号。

注:此方法来源与网上,然后我给整合了一下。网上的ppt转html我怎么试都不成功,转换失败全是乱码,后来我只能

把ppt转成PDF,然后再将PDF转成html。虽然麻烦但是也能实现最终的目的,谁有成功的方法欢迎分享,谢谢。

下面直接贴java代码:

public class OfficeToXML {private final static OfficeToXML oOfficeToXML = new OfficeToXML();  public static OfficeToXML getInstance() {  return oOfficeToXML;  } public OfficeToXML() {  } //Word转html方法public boolean WordtoHtml(String s, String s1) {  ComThread.InitSTA();  ActiveXComponent activexcomponent = new ActiveXComponent(  "Word.Application");  String s2 = s;  String s3 = s1;  boolean flag = false;  try {  activexcomponent.setProperty("Visible", new Variant(false));  activexcomponent.setProperty("AutomationSecurity", new Variant(3)); // 禁用宏  Dispatch dispatch = activexcomponent.getProperty("Documents").toDispatch();  Dispatch dispatch1 = Dispatch.invoke(dispatch, "Open", 1,  new Object[] { s2, new Variant(false), new Variant(true) },  new int[1]).toDispatch();  Dispatch.invoke(dispatch1, "SaveAs", 1, new Object[] { s3,  new Variant(8) }, new int[1]);  Variant variant = new Variant(false);  Dispatch.call(dispatch1, "Close", variant);  flag = true;  } catch (Exception exception) {  exception.printStackTrace();  } finally {  activexcomponent.invoke("Quit", new Variant[0]);  ComThread.Release();  ComThread.quitMainSTA();  }  return flag;  }  //excel转html方法public boolean ExceltoHtml(String s, String s1) {  ComThread.InitSTA();  ActiveXComponent activexcomponent = new  ActiveXComponent("Excel.Application");  String s2 = s;  String s3 = s1;  boolean flag = false;  try  {  activexcomponent.setProperty("Visible", new Variant(false));  activexcomponent.setProperty("AutomationSecurity", new Variant(3)); // 禁用宏  Dispatch dispatch =  activexcomponent.getProperty("Workbooks").toDispatch();  Dispatch dispatch1 = Dispatch.invoke(dispatch, "Open", 1, new  Object[] {  s2, new Variant(false), new Variant(true)  }, new int[1]).toDispatch();  Dispatch.call(dispatch1, "SaveAs", s3, new Variant(44));  Variant variant = new Variant(false);  Dispatch.call(dispatch1, "Close", variant);  flag = true;  }  catch(Exception exception)  {  System.out.println("|||" + exception.toString());  }  finally  {  activexcomponent.invoke("Quit", new Variant[0]);  ComThread.Release();  ComThread.quitMainSTA();  }  return flag;  }// PPT转PDF ,然后PDF再转html   /*转PDF格式值*/   private static final int ppFormatPDF = 32;   public boolean PPT2pdf(String filename, String pdfFilename) {ComThread.InitSTA(); long start = System.currentTimeMillis();  ActiveXComponent app = null;  Dispatch ppt = null;  boolean flag = false;  try {app = new ActiveXComponent("PowerPoint.Application");// 创建一个PPT对象  app.setProperty("AutomationSecurity", new Variant(3)); // 禁用宏  Dispatch ppts = app.getProperty("Presentations").toDispatch();// 获取文挡属性  System.out.println("打开文档 >>> " + filename);  // 调用Documents对象中Open方法打开文档,并返回打开的文档对象Document  ppt = Dispatch.call(ppts, "Open", filename,   true,// ReadOnly  true,// Untitled指定文件是否有标题  false// WithWindow指定文件是否可见  ).toDispatch();  System.out.println("转换文档 [" + filename + "] >>> [" + pdfFilename + "]");  Dispatch.call(ppt, "SaveAs", pdfFilename, ppFormatPDF);  long end = System.currentTimeMillis();  System.out.println("用时:" + (end - start) + "ms.");  flag = true;  } catch (Exception e) {e.printStackTrace();  System.out.println("========Error:文档转换失败:" + e.getMessage());  }finally {  Dispatch.call(ppt, "Close");  System.out.println("关闭文档");  if (app != null)  app.invoke("Quit", new Variant[] {});  }  ComThread.Release();  ComThread.quitMainSTA(); return flag;  }public static void main(String args[]) {  OfficeToXML otx = OfficeToXML.getInstance();  boolean flag1 =otx.PPT2pdf("E:\\office\\后台架构.pptx", "E:\\office\\后台架构.pdf");
if(flag1){  System.out.println("PPT文件转换成PDF成功!");  }else{  System.out.println("PPT文件转换成PDF失败!");  }     boolean flag2 = otx.WordtoHtml("E:\\office\\产品需求文档.docx", "E:\\office\\产品需求文档.html");  if(flag2){  System.out.println("WORD文件转换成HTML成功!");  }else{  System.out.println("WORD文件转换成HTML失败!");  }boolean flag3 = otx.ExceltoHtml("E:\\office\\bug.xlsx", "E:\\office\\bug.html");  if(flag3){  System.out.println("EXCEL文件转换成HTML成功!");  }else{  System.out.println("EXCEL文件转换成HTML失败!");  } }}

java使用jacob将word,excel,ppt转成html相关推荐

  1. Java准确获取Word/Excel/PPT/PDF的页数(附Word页数读不准的处理办法)

    Java准确获取Word/Excel/PPT/PDF的页数(附Word页数读不准的处理办法) 1.需求背景 2.环境准备工作 2.1 JACOB介绍及安装 2.2 Microsoft Office W ...

  2. java 使用jacob实现word、excle、ppt、图片转pdf

    java 使用jacob实现word.excle.ppt.图片转pdf IDEA Maven 微服务项目示例 示例: 步骤: 1.jarcob jar包.插件下载 SaveAsPDFandXPS 下载 ...

  3. java给图片、word、ppt、excel、pdf添加水印

    java给图片.word.ppt.excel.pdf添加水印 使用poi.itextpdf.imageio等技术 只支持高版本的office,即支持docx.pptx.xlsx 给word添加水印遇到 ...

  4. Java通过openOffice实现word,excel,ppt转成pdf实现在线预览

    Java通过openOffice实现word,excel,ppt转成pdf实现在线预览 一.OpenOffice 1.1 下载地址 1.2 JodConverter 1.3 新建实体类PDFDemo ...

  5. jacob操作word excel 将word excel转换成网页形式

    jacob操作word excel(来自http://sinye.iteye.com/blog/588050) 项目开发过程中,需求涉及到了各种文档转换为HTML或者网页易显示格式,现在将实现方式整理 ...

  6. Java使用Openoffice将word、ppt转换为PDF

    最近项目中要实现WORD的文件预览功能,我们可以通过将WORD转换成PDF或者HTML,然后通过浏览器预览. OpenOffice OpenOffice.org 是一套跨平台的办公室软件套件,能在 W ...

  7. php word excel转pdf文件怎么打开,php office文件(word/excel/ppt)转pdf文件,pptpdf

    php office文件(word/excel/ppt)转pdf文件,pptpdf 把代码放到了github上,点击进入 前阶段有个项目用到了线上预览功能, 关于预览office文件实现核心就是,把o ...

  8. vba 保存word里面的图片_笔记7 【office精华课】一套课程学会Word+Excel+PPT(一)【Word】(2020年第37周 周五)...

    [office精华课] <一套课程学会Word+Excel+PPT> 课程目录:(总时长合计:28:56:25) =================================== [ ...

  9. Python办公自动化(八)|使用Python转换PDF,Word/Excel/PPT/md/HTML都能转

    Word转PDF Word转PDF应该是最常见的需求了,毕竟使用PDF格式可以更方便展示文档,虽然在Word中可以直接导出为PDF格式,但是使用Python可以批量转换,更加高效. 目前在Python ...

  10. Win10安装了Office右键没有新建Word,excel,PPT等选项解决方法

    大多用户在新建一个Office文档的时候都会快速在桌面上右键新建一个Word或Excel.PPT等,而不是先打开软件去新建,但是用户反馈在安装了office之后,右键新建中并没有Word,excel, ...

最新文章

  1. 四旋翼———控制系统
  2. Android热更新实现方式
  3. 【Android 应用开发】Activity生命周期 与 Activity 之间的通信
  4. python读取文件按行分割字符串_python中分割字符串split切割并选择输出 逐行读取文件后字符串拼接...
  5. Spark创建RDD的四种方式(二):从外部存储(文件)创建 RDD代码示例
  6. 外媒:为何说中国对美国科技行业的影响与日俱增
  7. input属性disabled和readonly的区别
  8. sqlalchemy query函数可用参数有哪些?
  9. Layabox创始人谢成鸿:我有一个坚持!
  10. python识字_python代码实现截图识字
  11. SAP系统里批次双计量单位的实现
  12. html中加减号,如何添加加+和减号 - 按钮,在产品列表网页(list.phtml)
  13. 关于UE4中VR项目优化小记
  14. TensorFlow北大公开课学习笔记-8 复现vgg16并实现图片识别
  15. Easyui设置easyui-textbox不可编辑
  16. 【烈日炎炎战后端】Spring(2.1万字)
  17. 搜狗浏览器的高速模式果然很流畅
  18. 算法的时间与空间复杂度介绍
  19. 简述C#中IO的应用
  20. 非线性方程线性化求参数的简单例子

热门文章

  1. tomcat版本和支持的jdk版本匹配表
  2. 苹果发布了Final Cut Pro和Logic Pro的M1新版本
  3. 洛奇服务器维护,《洛奇Mabinogi》官方网站
  4. 关于第三方App发起Unity开发的app的解决方案
  5. 2022届中考倒计时倒计时
  6. Excel快速合并多行数据
  7. 四川省乐山市谷歌高清卫星地图下载
  8. 如何连接Access数据库
  9. 征服英语的二十二条军规
  10. kvm最多能管几台服务器,高效管理500台服务器的kvm切换器配置方案