jodconverter(java使用jodconverter包实现office转pdf的时候,报错文件格式错误是为什么)

本文目录
- java使用jodconverter包实现office转pdf的时候,报错文件格式错误是为什么
- org.artofsolving.jodconverter.office.OfficeException: failed to start and connect
- JODConverter自带的一个Web应用
- 怎么用在java中开启openoffice服务
java使用jodconverter包实现office转pdf的时候,报错文件格式错误是为什么
1)从数据库读取出来的内容 与 写死的文件名是否 物理一致?即是否是其他编码?
2)注意从数据库读取出来的字符串是否在前后有多余的空格?
3)应用程序中写死的和从数据库读取的一样猜袭坦,但在系统磁盘上所保存的就不是这个文件名,而是某种编码的字符,因此找不到。
4) 是否能够连接到穗桐soffice上,禅睁soffice是否启动了多次?
org.artofsolving.jodconverter.office.OfficeException: failed to start and connect
意思是数据库连接不上,需要通过重启mysql服务。
可以通过以下MYSQL命令解决:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql》 UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’ and host=’root’ or host=’localhost’;
//把空的用户密码都修改成非空的密码就行了。
mysql》 FLUSH PRIVILEGES;
mysql》 quit
# /etc/init.d/mysqld restart
# mysql -uroot -p
Enter password: 《输入新设的密码newpassword》
mysql数据库失败解决方法:
1、找到mysql数据库的user表。在user表中新建一条数据,设置User(username)和Host(开放访问MySQL的IP:例如123.118.17.201)以及登录密码。这样就设置了允许简拆陆访问的用户名和IP地址(若想所有IP都可以访问,则可将Host设置为御棚‘%’,但是这样很危险,不建议)。
2、若想myuser使用mypassword从任何主机连接到mysql服务器拦顷
mysql》 GRANT ALL PRIVILEGES ON *.* TO ’myuser’@’%’ IDENTIFIED BY ’mypassword’ WITH GRANT OPTION。
3、若想仅允许用户myuser从ip为 123.57.20.21 的主机连接到mysql服务器,并使用mypassword作为密码。
mysql》 GRANT ALL PRIVILEGES ON *.* TO ’myuser’@’123.57.20.21’ IDENTIFIED BY ’mypassword’ WITH GRANT OPTION。
JODConverter自带的一个Web应用
在这一节中 我们将学习一下JODConverter自带的一个Web应用 了解如何在Web应用中运行OpenOffice文档转换服务来转换Office文档 在上一节中 我们从SVN资源库中下载了两个应用 其中有一个是jodconverter sample webapp 这个应用就是以Web方式运行OpenOffice文档转换服务的 咱们来打开看一下
这就是这个应用的目录结构 包含三个java文件 分别是一个处理转换请求的Servlet 一个WebappContext 从名字看应该是应用的一些上下文信息 还有一个Listener 另外还有一个文档格式的JS文件与一个jsp文件 很简单的一个应用 简单也好 我们可以比较容易明白
咱们首先打开web xml文件 对于一个Web应用来说 web xml文件就是这个应用的描述 一个应用包含了一些什么样的组件 一些什么样的配置信息都会在web xml文件里面体前旦现 然后我们就可以顺籐摸瓜 了解这个应用的一切
从上图可以看到 这个web xml文件主要包含三个方面的内容 一个是WebApp的上下文参数 第二个是配置了一个侦听器 第三个就是处理转换请求的Servlet配置 第一个部分的代码现在是注释的 咱们从第二个Linstener开始了解 打开这个侦听器的源码
这个的代码更简单 就是实现了侦听器的两个方法 init方法和destory方法 并且分别调用了WebappContext类的init方法和destory方法 并吵悔枝且把当前ServletContext当作参数传递过去 可以知道重点在WebappContext类里面 打开WebappContext类 里边主要有四个方法
咱们一个一个方法来看
代码主要有两部分 第一部分是初始化文件上传的参数 设置最大允许上传的文件大小 第二部分根据web xml文件设置的OpenOffice相关参数 初始化OpenOffice文档转换服务配置DefaultOfficeManagerConfiguration 并且构建一个OfficeManager和DocumentConverter的实例 这个两个类一个是用来根据DefaultOfficeManagerConfiguration启动OpenOffice文档转换服务 一个用来执行转换任务
下面的几个方法相对都比较简单
根据注释其实已经很清晰了 这个类和WebappContextListener两个类的作用就是在Web应用启动时启动OpenOffice文档转换服务 在应用关闭时停止OpenOffice文档转换服务 剩下的那个类就是执行文档转换的主体了 咱们接着看
四个方法 下面的三个方法咱们可以忽略不计 不同的文件上传组件获取文件的方式不一样 自己去了解一下
主要是doPost()方法
第一部分
第二部分
在这个方法里面 主要起作用的就是这个两个部分 其实也挺简单的 因为所有的操作都已经封装好了升敏 我们只需要调用就可以了 下面咱们把这个应用部署到Tomcat里面来体验一下
启动Tomcat 访问应用
很简单的一个页面 咱们点击浏览选择一个Office文件 然后点击Convert!
网页弹出了一个文件下载框 咱们点击打开或者保存 看 一个PDF文件就转换好了 简单吧
lishixinzhi/Article/program/Java/hx/201311/25970怎么用在java中开启openoffice服务
确保你的电脑中安装了openoffice必须把OpenOffice以后台服务方式启动,这需要这么一串参数:
-invisible -accept=socket,host=0,port=2002;urp;
invisible表示静默方式运行,
后面一串东西基本的意思就是:openoffice会在你指定的端口(这儿用的是2002)
监听用户的请求。(该字符串更具体的含义和对应功能,自行查询开发文档相关章节)然后,我们必须更动之前获取XComp对象的代码,精确的说,我们必须更动获取XComponentContext 对象孝局的代码。不再有BoolStap,而代之以一串更长的东西,这段东西非常的长,幸好,你只要直接copy过来就好,你可以巧银让在SDK的examples\java\ConverterServlet.java中找到这串东西,(注意,原始示例中使用的端口号不是之前我们指定的2002)获取到Context之后,我们的代码没有变化,其他的流程一切照旧,所有的参数也一模一样。监听模式下,还有搏宽一个附带的好处:你可以放心的把那几个jar拷贝到你需要的任何地方,而用不着非要指向OpenOffice的原始安装目录了。

更多文章:
jodconverter(java使用jodconverter包实现office转pdf的时候,报错文件格式错误是为什么)
2026年9月23日 11:40
atom加速器(Android Studio模拟器,需安装Intel haxm加速器,因特尔以外的CPU可安装吗)
2026年9月23日 08:40
传美版qq提示音(QQ的消息声音太难听了,怎么能改一改呢,我下完的声音都使用不了,要什么格式的呢)
2026年9月22日 23:40







