使用 LibreOffice、lpr 命令从命令行打印?

使用 LibreOffice、lpr 命令从命令行打印?

我正在尝试从命令行打印 Word 文档,但我需要指定通常使用 lpr 的打印选项。这是我使用的命令

libreoffice -p "filename.doc"

我需要能够指定用户名 (-U),可以吗?以下方法无效

libreoffice -p "filename.doc" -U username

这可行吗,或者还有其他方法吗?

答案1

您无法将lpr命令行选项传递给libreoffice。两种可能的解决方案是:

  1. 一步解决方案(我认为最好的解决方案):使用反卷积将 PDF 输出至stdout管道lpr

    $ unoconv --stdout filename.doc | lpr -U username -P the_printer_name
    
  2. 三步解决方案(如果你不想要/不能使用unoconv):使用libreoffice --print-to-file临时文件+lpr文件+删除临时文件(不幸的是自由办公室仍然不支持打印到标准输出):

    $ libreoffice --headless --print-to-file --printer-name the_printer_name --outdir /tmp filename.doc
    $ lpr -U username /tmp/filename.ps -P the_printer_name
    $ rm /tmp/filename.ps
    

答案2

在$ libreoffice --help 下

用法:soffice [选项] [文档...]

soffice -p 文件名.odt

对我有用。

libreoffice -p File_Name.odt 刚刚打开了程序,lpr 刚刚吐出垃圾。

答案3

以下是我在 Debian 9 上使用 LibreOffice 和 CUPS 打印机打印文档的方法:

/usr/bin/libreoffice --pt [cupsname] /home/username/filename.odt

运行效果非常好,无需任何中间步骤。

相关内容