我正在尝试从命令行打印 Word 文档,但我需要指定通常使用 lpr 的打印选项。这是我使用的命令
libreoffice -p "filename.doc"
我需要能够指定用户名 (-U),可以吗?以下方法无效
libreoffice -p "filename.doc" -U username
这可行吗,或者还有其他方法吗?
答案1
您无法将lpr
命令行选项传递给libreoffice
。两种可能的解决方案是:
一步解决方案(我认为最好的解决方案):使用反卷积将 PDF 输出至
stdout
管道lpr
:$ unoconv --stdout filename.doc | lpr -U username -P the_printer_name
三步解决方案(如果你不想要/不能使用
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
运行效果非常好,无需任何中间步骤。