我正在使用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
但仍然遇到同样的错误。我错过了安装的东西吗?有没有人对这个问题有任何想法?
答案 0 :(得分:18)
我通过安装最新版本的unoconv
修复了上述问题。我尝试更新libreoffice并安装完整版本,但都没有帮助。
我使用的是unoconv 0.3
,最新的版本是0.6。所以我安装了最新的一个,它解决了这个问题。
以下是我遵循的步骤:
apt-get remove --purge unoconv
(先删除旧的unoconv) git clone https://github.com/dagwieers/unoconv
(从github下载最新版本的unoconv。)
现在cd到unoconv目录并执行sudo make install
注意:请执行git clone,不要下载tar文件。在我的情况下,我下载tar时安装失败。
答案 1 :(得分:8)
我在执行apt-get install unoconv
之后遇到了同样的问题,另外apt-get install libreoffice
修复了它。可能只有一些libreoffice组件的有限安装是它仅适用于某些格式的原因。我当然希望ppt转换需要libreoffice-impress
吗?