我正在使用unoconv
将不同的文件格式转换为pdf。在我的本地计算机上,所有格式都可以正常运行。但是在我的ubuntu 12.04服务器上,unoconv
对于某些格式(例如xls,ppt,pptx等)失败。但是对于doc文件,它工作正常。它显示了ppt转换的以下错误。
$unoconv -f pdf Googling.ppt
unoconv: UnoException during conversion in <class '__main__.com.sun.star.lang.IllegalArgumentException'>: Unsupported URL <file:///home/pythonuser/almamapper/media/library/files/c1cb92e62ce54b29a017a6e8eaa23c/Googling.ppt>: ""
Traceback (most recent call last):
File "/usr/bin/unoconv", line 790, in <module>
main()
File "/usr/bin/unoconv", line 769, in main
convertor.convert(inputfn)
File "/usr/bin/unoconv", line 679, in convert
error("ERROR: The provided document cannot be converted to the desired format. (code: %s)" % e.ErrCode)
File "/usr/lib/python2.7/dist-packages/uno.py", line 337, in _uno_struct__getattr__
return __builtin__.getattr(self.__dict__["value"],name)
AttributeError: ErrCode
我知道我必须在服务器上安装openoffice-headless版本。但是从这个link中我了解到,Ubuntu不久前就改用libreoffice而不是openoffice。因此,我通过以下命令安装了libreoffice。
apt-get install libreoffice-core libreoffice-writer libreoffice-calc
但是仍然出现相同的错误。我是否缺少要安装的东西?有人对此事有想法吗?
最佳答案
我通过安装最新版本的unoconv
解决了上述问题。我尝试更新libreoffice并安装完整版本,但均无济于事。
我正在使用unoconv 0.3
,最新的可用版本是0.6。因此,我安装了最新版本,它解决了问题。
这是我遵循的步骤:
apt-get remove --purge unoconv
(先删除旧的unoconv)git clone https://github.com/dagwieers/unoconv
(从github下载unoconv的最新版本。)sudo make install
注意:请执行git clone,不要下载tar文件。就我而言,下载tar时安装失败。
关于shell - unoconv在ubuntu 12.04服务器上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13064600/