doc转换为pdf解决方案

2015-09-19  本文已影响1469人  LienZzzz

环境

解决方案

安装

sudo apt-get install libreoffice-common
apt-get install unoconv libreoffice-core libreoffice-writer libreoffice-calc openoffice.org-java-common

转换方式

libreoffice --headless --convert-to pdf *.doc

或者

soffice --headless --convert-to pdf *.doc
unoconv -f pdf *.doc

问题及解决

问题:

转换后的中文文档内容中的中文都成了方框

解决:
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:en_US:en"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"

问题:

在公司的服务器上部署的时候,unoconv在 php中无法执行
在自己的VPS上部署时没有这问题

解决:

公司电脑上开启一个监听的守护进程来处理unoconv调用soffice中的库文件的请求:

/usr/bin/soffice --headless --nofirststartwizard --nologo --norestore --nodefault --invisible "--accept=socket,host=localhost,port=2002;urp;StarOffice.ComponentContext" &

我也不知道为什么就解决了。。。可能大概和公司的电脑部署了桌面环境有关


参考资料:

上一篇 下一篇

猜你喜欢

热点阅读