Pandoc 应该是最著名的一个文档格式转换的利器了,之前也写过一篇有关 Pandoc 简单使用的介绍。可是 Pandoc 要求输入文件的编码格式必须是 utf-8,否则就无法进行转换,对于 Linux 和 MacOS 来说,这基本没什么问题,毕竟系统的默认编码就是 utf-8,可是 Windows 下的默认编码并不是 uft-8,而是 GBK 系列的,所以在转换这些文件时,就会出现问题。

而 unoconv(Universal Office Converter) 可以很好地解决这个问题,因为 unoconv 的背后是依靠 LibreOffice 来进行格式转换的,所以 unoconv 支持所有 LibreOffice 可以导入导出的格式。

首先需要安装 unoconv,因为它是依赖于 LibreOffice 的,所以需要先安装 LibreOffice,可以直接使用系统上的包管理命令直接安装。

Arch Linux

1
$ sudo pacman -S unoconv libreoffice-fresh

Debian/Ubuntu

1
$ sudo apt install unoconv libreoffice-fresh

安装完成之后就可以开始使用了,unoconv 的语法非常简单:

1
$ unoconv -f [format] inputfile

-f 选项是用来指定输出文件格式的。
你可以通过添加 --show 选项来查看支持的格式:

1
$ unoconv --show

这种方式输出的文件跟输入文件是同名的,不过文件后缀不一样,你也可以通过 -o 选项来手动设置文件名。

1
$ unoconv -f pdf -o word.pdf hello.ppt

上面只是几个最常用的用法,unoconv 还支持一些其他的参数,来完成一些更加强大的功能,具体的可以使用 -h 选项查看。