由于项目需要,要完成将上传的word文件转成html文件的功能。在网上搜了一下,大致有3种方法:1、用jacob实现 2、用poi实现 3、用openoffice实现。

从网上来看好像jacob用的人最多,我就选择了这种方法来做。需要引入jacob.jar jar包,并且jar包还要调用jacob.dll文件,需要事先把jacob.dll文件放到以下3处地方:C:\Windows\System32 目录下,安装的jdk文件夹下的bin目录中,以及jre文件夹下的bin目录(注意一定是你这个项目运行所用到的jdk和jre,如果你的机器上装有多个,首先你要确认清楚放到哪个中)。编写程序,运行通过,达到了想要的效果,生成了html文件,同时还生成了一个文件夹,里边放了若干文件,包括所含的源图片。如果你的文档里包含图片的话要注意生成的html中的图片的src路径默认的是放图片的文件夹和生成的html文件要放到同样的路径中,这样才能找得到图片,否则图片不能加载到html中。介于这个原因,我决定不把html文件中所含字符串存入数据库,而是把htnl的链接地址存入数据库,这样根据这个链接加载的html就可正确的显示图片。

接下来悲剧的事情发生了。项目要布在linux服务器上,这意味着我之前的努力全白费了。特此声明, jacob 只支持windows服务器,不支持linux,.dll文件也是windows所特有的!所以大家在选择采用何种方式时一定要结合自己要用的操作系统。

万般无奈之下只好再采用poi去做。还是要导入要用到的jar包,网上有很多实现的代码可直接拿来用。我在本地的java项目中试着写了这个功能(非web的),ok,生成了html文件,同时生成了所含的图片。然后我就把代码转到我的web项目中,但是悲剧发生了,生成的html页面显示是乱码,用notepad++打开源代码也是乱码。我解决了好久没有解决,直到最后把程序中以下两句中的编码由“utf-8”改为“GB2312”后,问题才得以解决,但是至今还不知道为什么这样。

serializer.setOutputProperty(OutputKeys.ENCODING, "utf-8");//一定要改成“GB2312”

FileUtils.writeStringToFile(new File(tpFile), content, "utf-8");   //一定要改成“GB2312”

至于openoffice的方式,我没有试。在网上搜到一些资料是这么说的:

openoffice 会在第一次打开包含他的页面的时候弹出小广告。linux服务器还要解决acess问题。

openoffice有个服务可以开启,再加上 jodconverter.jar 组合使用。

word转html java代码_用java实现word转html相关推荐

  1. 连连看java代码_连连看 - java代码库 - 云代码

    [java]代码库/* * To change this license header, choose License Headers in Project Properties. * To chan ...

  2. java代码_【JAVA虚拟机(JVM)精髓】05-Java代码的执行过程

    持续更新JVM相关知识,敬请关注: Java虚拟机精髓专栏​zhuanlan.zhihu.com 这里再简单回顾下Java代码执行的整个过程,首先是前端编译过程,java源文件,通过前端编译器,生成出 ...

  3. 医院医生评价的java代码_基于JAVA的医院信息查询接口调用代码实例

    基于JAVA的医院信息查询接口调用代码实例 import java.io.BufferedReader; import java.io.DataOutputStream; import java.io ...

  4. 21点 小游戏 java代码_基于Java的21点扑克游戏的实现

    在上次写的比较牌点的扑克游戏上Java扑克游戏(多人多牌数比较游戏)的实现中,添加21点游戏规则,实现21点牌类游戏.具体实现步骤如下:[需要源代码的留QQ,大家一起探讨探讨哈,谢谢啦!] 抽象出规则 ...

  5. 高斯模糊java代码_一行java代码实现高斯模糊效果

    本文实例为大家分享了本地图片或者网络图片高斯模糊效果(毛玻璃效果),具体内容如下 首先看效果图 1.本地图片高斯模糊 2.网络图片高斯模糊 下面是使用步骤 一.实现本地图片或者网络图片的毛玻璃效果特别 ...

  6. atm java代码_用JAVA制作简单的ATM的代码 求教

    展开全部 ok,稍等 呵呵,已经给你拆分成了两个独立的类了. 我再吧注释加起吧. 哪儿e68a8462616964757a686964616f31333262363734不清楚的可以给我留言嘛,刚开始 ...

  7. (1 24) 3 java代码_《Java语言程序设计》测试题及参考答案(第1部分)

    一.单项选择题 1.Java Applet编程时用户的Applet程序类的正确定义是哪一种 ? (1)class MyApplet extends applet{ } (2)class MyApple ...

  8. 体质测试java代码_求java代码,要求做一个测试类,实现以下功能之一。最好三个功能都有。...

    展开全部 import java.util.*; public class Admin {//管理类 Scanner in=new Scanner(System.in); String msg=&qu ...

  9. 蜘蛛纸牌 java代码_源代码-Java实现蜘蛛纸牌.doc

    源代码-Java实现蜘蛛纸牌 aboutdialog.java import javax.swing.*; import java.awt.*; /* **"关于"窗口 */ pu ...

  10. 道路监控系统java代码_使用Java实现简单的监控系统

    本文只是简单介绍了下监控系统实现的思路,具体还需根据自己需求实现. 前言: 目前存在一个后台服务系统,此时需要配套一个监控系统,对这个后台服务系统进行监控.下面会涉及到两个系统,后台服务系统(这是已经 ...

最新文章

  1. mongodb自带监控 mongostat数值说明
  2. 【问题解决】连接mysql 8错误:authentication plugin 'caching_sha2_password
  3. c++ 异常处理(2)
  4. 抛弃市电!微软建成世界首座天然气数据机房:能耗大减
  5. no need for pictures
  6. linux后台运行命令,nohup
  7. kail利用msf工具对MS12-020漏洞进行渗透测试
  8. 大屏难看怎么办?这份大屏制作教程请收好
  9. shell:判断某个变量是否包含字符串/变量的方法
  10. 【Elasticsearch】Elasticsearch 7.3 的 offheap 原理
  11. 发送邮件(注册用户并激活邮箱)
  12. 软件架构及几种典型框架
  13. socket 支持 ipv6
  14. mp3处理工具(mp3agic)
  15. 每一个人都应该学习电脑编程,因为它会教你如何思考
  16. 对软件工程课程的初步认知
  17. Hijacking tons of Instapage expired users Domains Subdomains
  18. 百度地图汽车物流数智化应用方案,推进整车运输行业全链条数字化发展
  19. Tomcat11——Tomat集群
  20. mysql怎么优化like_MySQL 的 like %关键字怎么优化

热门文章

  1. SDCC编译器简明使用教程
  2. 购物系统 java代码_java购物系统源代码
  3. 线性规划问题之案例1(奶制品的生产与销售)
  4. 理解Celery的worker
  5. L1-7 机工士姆斯塔迪奥
  6. python画两条曲线_python 实现将多条曲线画在一幅图上的方法
  7. python爬取实习僧
  8. android吃鸡闪退,绝地求生刺激战场iPhone6/6P闪退怎么办
  9. 羊台山西丽路线登山记
  10. B站2020年每周必看热门视频数据盘点(数据分析)