暗无天日

=============>DarkSun的个人博客

使用libreoffice批量转换文件和打印

与 Microsoft Office 很不一样的是,LibreOffice 居然提供了 CLI 让你可以在 shell 中使用。

批量转换文件格式

比如,我们可以使用 --convert-to 参数来实现文档的批量转换。 它的语法是

libreoffice --convert-to $OutputFileExtension [--outdir $output_dir]

其中:

$OutputFileExtension
输出文件的后缀,指定了要将文档转换成哪种格式
--outdir $output_dir
输出目录,指明了输出文件要存在哪个目录下,若没有指定则为当前目录

比如,我要把所有的 .docx 文件都转换成 pdf, 那么可以这么做

libreoffice --convert-to pdf *.docx

批量打印

通过 -p 参数,我们还能实现多个文档的批量打印

libreoffice -p *.docx

会将当前目录下所有的docx都通过默认的打印机打印出来。

若需要指定其他打印机怎么办呢?也有办法, --pt 参数可以让你指定要打印的打印机

libreoffice --pt ${Printername} *.docx

终端显示文档文本内容

更变态的是,libreoffice 还能将文档的文本内容在终端上显示出来,这个功能可以跟 grep 连用,来搜索文档中的指定内容。

比如下面命令可以查找所有docx文档中包含emacs的内容。

libreoffice --cat *.docx |grep -i emacs