在命令行上为 LibreOffice 指定打印选项?

在命令行上为 LibreOffice 指定打印选项?

我正在尝试想出一些.pptx从命令行将文件转换为 PDF 格式的方法。我已经设置了一台cups-pdf打印机,实际发送作业,到目前为止,我已将其归结为以下命令:

libreoffice -pt PDF somePowerpointFilePath.pptx

我的打印机名称在哪里PDF。然而,当我想使用横向打印时,libreoffice 却以纵向打印我的文档。

我看过这些问题,但似乎没有一个能满足我的需要。

https://superuser.com/questions/486130/printing-from-the-command-line-with-libreoffice-lpr-commands
https://superuser.com/questions/135495/how-do-i-convert-this-filetype-to-pdf

我也阅读了有关unoconv选项的信息,但我不想使用我的 Python 库来完成设置。

我还注意到了--convert-to该命令的选项libreoffice,但它的行为并不像我期望的那样。我希望能够使用它libreoffice --convert-to pdf myFileName.pptx,但这个命令很快就运行了(每当您使用 libreoffice 时都会通知),并且似乎没有在当前工作目录中存放任何类型的 pdf 文件(根据手册页,它应该这样做)。

如果有人可以阐明如何使这两种方法中的任何一种发挥作用(通过 CUPS 打印或使用选项--convert-to),我将不胜感激。

答案1

您可以在“无头”模式下运行 LibreOffice(即作为没有 GUI 的命令行实用程序)。但如果同时运行带有 GUI 的 LibreOffice 实例,则它将不起作用。

即使 GUI 实例同时处于活动状态,也可以通过一个命令执行您想要的操作,如下所示:

mkdir $HOME/pdf ;
/path/to/soffice                                   \
   --headless                                      \
   --infilter="Microsoft PowerPoint 2007/2010 XML" \
   "-env:UserInstallation=file:///tmp/LibreOffice_Conversion_${USER}" \
   --convert-to pdf:impress_pdf_Export             \
   --outdir $HOME/pdf                              \
     test.docx

这里'办公室'是每个 LibreOffice 安装中都会安装的命令行工具。它很可能位于 中/usr/bin/soffice

有关更多详细信息,请参阅我在 StackOverflow 上的其他回答:

相关内容