今天遇到个很郁闷的问题,用openOffice 在windows开发环境下转换ppt,word到pdf,里面的文字无论中英文都能正常显示,但是部署到了生产环境(CentOS 7.3.2)之后,转换的结果全部是乱码,于是在网上找了一篇文章,步骤写得很好,按照他的步骤成功解决了问题,特意转发过来,希望对大家有帮助。

1、环境

CentOS release 7.3.2
已安装: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
  • 1
  • 2

步骤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>
  • 1
  • 2
  • 3
  • 4
  • 5

步骤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
  • 1
  • 2
  • 3

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

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

步骤8:完成格式转换。

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

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

转至:https://blog.csdn.net/laoyang360/article/details/73555598

来自EDSE的创作

解决OpenOffice格式转换中文乱码终极解决方案相关推荐

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

    1.环境 CentOS release 6.7 (Final) 已安装:openoffice4.1.3, jodconverter.2.2.2. 2.OpenOffice使用 Apache OpenO ...

  2. mysql c 中文字符串_MySQL字符集中文乱码终极解决方案和mysql查询中文问题解决方法...

    开源数据库MySQL从来都是中小企业构建web应用的首选,特别是和PHP配合简直就是一 对黄金搭档,深受web开发人员的喜爱.但自从4.1以来MySQL加入了多字符集的支持,很多MySQL使用者发现中 ...

  3. RHEL5.1安装VM TOOL及中文乱码终极解决方案

    VMWARE tool 主要的功能就是让用户在虚拟机和真实系统之间实现无缝切换,这个功能很方便,当然VMware Tools最主要是实现linux和windows的文件共享. 1.挂载VM tool的 ...

  4. clion:输出中文乱码终极解决方案

    临时解决方案 如果在windows时发现clion乱码,可以在cmakelist.txt中: c++在cmakelist.txt添加set(CMAKE_CXX_FLAGS "${CMAKE_ ...

  5. Python 编码问题:‘ascii‘ codec can‘t encode characters in position 的解决方案(中文乱码终极解决方案)

    有2种方法设置python的默认编码: 方法一:一个解决的方案在程序中加入以下代码: Python代码  import sys reload(sys) sys.setdefaultencoding(' ...

  6. java中文乱码终极解决方案

    转载自这篇文章 简单描述: 1.get方式乱码:tomcat 的server.xml 中加 URIEncoding="UTF-8" 2.post方式乱码:使用过滤器即可解决 3.l ...

  7. SecureFX中文乱码终极解决方案

    SecureFX初始安装后由于本身电脑的操作系统配置缘故,会有中文显示乱码问题,网上找了很多解决方法,发现只有一个会全部通用,现在我们来看看 1.找到SecureFX文件夹路径,这一步很重要,一般就在 ...

  8. linux 下navicat 中文乱码终极解决方案

    navicat 也是够了,直接用了个wine包装navicat 成了linux版本的了,对此表示无语 此前有很多人说,要更改startnavicat脚本中的 lang 很明确的说没有成功,因为 根本不 ...

  9. MYSQL使用UTF8中文乱码终极解决办法

    转自:http://wenku.baidu.com/view/d2d4f15ba8114431b80dd81f.html MYSQL使用UTF8中文乱码终极解决办法   作者:刘明灵 liumingl ...

最新文章

  1. PlaceholderTextView
  2. ELK filebeat和logstash使用:配置单个文件来源、配置多个文件来源
  3. 2018~2021年软考下午真题考点总结-软考最新
  4. jsonrpc php使用,基于php的json rpc原理及应用
  5. 新建的html文件都不能显示图片,WindowsXp系统打开网页无法显示图片的解决方案...
  6. 音乐外链生成 html,音乐外链生成工具V2.1 支持14个音乐网站外链提取转换
  7. VideoPose3D:基于视频的3D人体关键点检测
  8. html的fa图标代码,font awesome
  9. Mybatis文件格式不匹配 -读取xml文件失败
  10. 为什么看P1dB压缩,而不是2dB,3dB压缩
  11. 前端入门之(我与iscroll的不期而遇)
  12. 微软亚洲研究院面试题
  13. 网络通讯学习(3)-----UDP通讯(仅了解)
  14. anemometer mysql5.6_Anemometer|Anemometer(mysql慢查询日志分析工具)下载免费版 - 欧普软件下载...
  15. free_rtos系统基本配置
  16. 7-4 Swan学院社团招新 (20 分)
  17. 51单片机基础之DS1302
  18. 原生JavaScript实现随机点名
  19. 从边缘计算到人工智能 新技术加速更迭的迷茫与思考
  20. iTunes备份路径Windows[Debug]

热门文章

  1. android——rxjava异步Consumer类似promise、重试机制、网络请求失败重试、合并两个异步都完成才往下运行、实现数据缓存优先加载
  2. GTX 1070 Ti上来就是一大波非公版,可惜锁频了
  3. 雅虎天气的图片URL格式
  4. 开发技术前线 第六期
  5. 如何在线图片编辑?图片在线处理的方法
  6. mysql画本升级_现阶段玩法攻略,屯资源提功力是核心,零氪也能混话本
  7. RuoYi-Vue微信小程序登录授权
  8. JavaScript的奇技淫巧
  9. 小米拒绝权限_小米MIUI 12上手!流氓软件的克星,动画比肩iOS
  10. 抖音iOS最复杂功能的重构之路--播放器交互区重构实践