Libreoffice php使用命令行office转pdf,pdf转图片

Posted jackduan1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Libreoffice php使用命令行office转pdf,pdf转图片相关的知识,希望对你有一定的参考价值。

我用的centos系统版本,是6.5版本64位

1、配置centos的yum源之前我的阿里云服务器的centos,好像因为没有配置yum源而使用系统自带的,通过yum install libreoffice没找到Libreoffice安装包(当然,这可能是我系统版本的问题,具体就不得而知了,因为后来搞不定又继续更换了其他版本的centos)。
yum源配置,因为我使用的是阿里云服务器,所以我使用阿里云的yum源。
配置方法:http://mirrors.aliyun.com/help/centos

2、安装Libreoffice

  1. yum install libreoffice
复制代码

然后我使用soffice命令转化doc测试文档

  1. soffice --headless --invisible --convert-to pdf doctest.docx
复制代码


然后出现报错了:

  1. /usr/lib64/libreoffice/program/soffice.bin X11 error: Can‘t open display: 
  2.    Set DISPLAY environment variable, use -display option
  3.    or check permissions of your X-Server
  4.    (See "man X" resp. "man xhost" for details)
  5. [[email protected] ~]# man x
  6. Cannot open the message catalog "man" for locale "zh_CN.UTF-8"
  7. (NLSPATH="/usr/share/locale/%l/LC_MESSAGES/%N")
  8. No manual entry for x
复制代码

后来在这里找到了解决办法:http://superuser.com/questions/6 ... r-cant-open-display
我执行下面这个命令,然后解决了上面的那个报错问题:

  1. yum install libreoffice-headless
复制代码

然后我再通过soffice命令将doc测试文档转成pdf,终于顺利转化成功!

然而又出现问题了。。。

转化后的pdf文件,我看到了一个一个密密麻麻的小方框。。乱码!

然后我通过“locale -a”查看了下,是不是系统不支持中文的问题。然后发现系统是支持中文的。

  1. ....
复制代码



那么问题就可能是出现在libreoffice上,然后通过搜索引擎找到了解决办法:http://www.linuxidc.com/Linux/2012-12/77017.htm

  1. yum -y install  libreoffice-langpack-zh-Han*
复制代码

centos上运行上面的命令之后,给libreoffice安装了中文的语言支持,然后顺利地把doc测试文档无乱码地转成了pdf文件。

其实我已经不想说为了解决Libreoffice将office文档转pdf的问题已经让我折腾了三天了。。。Ubuntu和centos系统来回地更换安装测试。不过,还是终于把问题解决了。

剩下的,pdf.js实现文档在线浏览,请看这个帖子:
http://www.hc-cms.com/forum.php?mod=viewthread&tid=14

 






















以上是关于Libreoffice php使用命令行office转pdf,pdf转图片的主要内容,如果未能解决你的问题,请参考以下文章

libreOffice 命令行宏不返回输出或错误

如何从命令行使用 LibreOffice 将 .doc 文件转换为 .txt?

Unoconv/libreoffice 命令行转换很慢

LibreOffice 命令行 (soffice) 打印选项

Libreoffice:如何使用高棉 Unicode 在命令行中将 .xlsx 转换为 .pdf 格式?

从命令行到 libreoffice 的配置文件的路径