OpenOffice格式转换中文乱码终极解决方案

简介: Apache OpenOffice是一款先进的开源 办公软件套件,Jodconverter是一个JAVA的OpenDocument**文件转换器,利用OpenOffice可以进行多种文档格式之间的转换,它可以被用做**JAVA库,命令行工具,或者一个WEB应用。

1、环境

CentOS release 6.7 (Final)
已安装:openoffice4.1.3, jodconverter.2.2.2。

2、OpenOffice使用

Apache OpenOffice是一款先进的开源 办公软件套件,它包含文本文档、电子表格、演示文稿、绘图、数据库等,能够支持许多语言,可以在多种操作系统上运作,并能够读写其它常用办公软件包生成的文件。同时它也是一个平台,用户可以基于其提供的API接口来开发自己的应用程序。

Jodconverter是一个JAVA的OpenDocument文件转换器,利用OpenOffice可以进行多种文档格式之间的转换,支持的格式包括OpenDocument,PDF,RTF,Word,Excel,PowerPoint,以及Flash。它可以被用做JAVA库,命令行工具,或者一个WEB应用。

已验证过的格式转换支持如下:
【1】、ppt/pptx转为html,转成的html结果是:文字和图片分开存储,每页PPT对应一个html。
【2】、ppt/pptx转pdf;
【3】、doc/docx转html。

3、格式转换出现中文乱码

java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /opt/test.ppt /opt/test.pdf 

乱码症状:所有中文字符都显示为???乱码。
我遇到的情况是:ppt转pdf出现乱码,随即花了半天的时间找到了解决方案。
其他类型转换出现乱码如:doc转pdf等的解决方案都类似。

4、乱码解决方案

步骤1:创建路径。

在centos的/usr/java/jdk1.8.0_91/jre/lib/fonts下新建路径:fallback。

[root@780ec6 fallback]# echo $JAVA_HOME
/usr/java/jdk1.8.0_91

步骤2:上传字体。

将字体:simhei.ttf 黑体、simsun.ttc 宋体(windows下通过everything找下)上传至/usr/java/jdk1.8.0_91/jre/lib/fonts/fallback路径下。

步骤3:查看系统字体文件路径。

查看方案:

[root@80ec6 fallback]# cat /etc/fonts/fonts.conf
<!-- Font directory list -->
  <dir>/usr/share/fonts</dir>
  <dir>/usr/share/X11/fonts/Type1</dir> <dir>/usr/share/X11/fonts/TTF</dir> <dir>/usr/local/share/fonts</dir>
  <dir>~/.fonts</dir>

步骤4:字体拷贝。

将 /usr/java/jdk1.8.0_91/jre/lib/fonts的全部内容,拷贝到步骤3查看的路径下, 我的字体路径为:/usr/share/fonts。

步骤5:更新缓存

执行命令:fc-cache

步骤6:kill掉openoffice进程。

[root@80ec6 fonts]# ps -ef | grep openoffice
root 3045 3031 0 06:19 pts/1 00:00:03 /opt/openoffice4/program/soffice.bin -headless -accept=socket,host=127.0.0.1,port=8100;urp; -nofirststartwizard
执行kill:kill -9 3045

步骤7:重启后台运行openoffice。

[root@a3cf78780ec6 openoffice4]# soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &

步骤8:完成格式转换。

java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /opt/test.ppt /opt/test.pdf

至此,转换完毕,乱码不再存在。


作者:铭毅天下
转载请标明出处,原文地址:
http://blog.csdn.net/laoyang360/article/details/73555598


相关文章
|
7月前
|
缓存 Linux Windows
Linux环境aspose插件word转pdf中文乱码解决方案
Linux环境aspose插件word转pdf中文乱码解决方案
726 0
|
8月前
|
Java 关系型数据库 MySQL
JavaWeb 乱码问题终极解决方案!
JavaWeb 乱码问题终极解决方案!
|
10月前
|
编译器 图形学 Windows
【unity细节】中文乱码和老包升级的情况
【unity细节】中文乱码和老包升级的情况
114 0
|
JavaScript
如何解决 Camtasia9 导入 srt 字幕后出现乱码的问题
如何解决 Camtasia9 导入 srt 字幕后出现乱码的问题
如何解决 Camtasia9 导入 srt 字幕后出现乱码的问题
|
Python
办公利器!用Python快速将任意文件转为PDF
**痛点:** 相信大家都会遇到一种**场景**。老师/上司要求你把**某个文件转为pdf**,并且是一批(不止一个,一个的话手动就可以搞定),并且这种是枯燥无聊的工作,既没有什么技术含量又累。
455 0
|
存储 缓存 Java
OpenOffice格式转换中文乱码终极解决方案
1、环境 CentOS release 6.7 (Final) 已安装:openoffice4.1.3, jodconverter.2.2.2。
1077 0
|
JSON Java 数据格式
[Java工具]JSON制作工具
自己写的JSON工具类,用于制作JSON字符串 依赖: com.google.code.gson gson 2.2.
1140 0