从命令行每张打印两页

从命令行每张打印两页

假设我从一个 PDF 文档开始,比如 12 页,用以下命令查看表明。要生成另一个 6 页的 PDF,页面设置为每面两页,我通常使用 ^P 对话框窗口中列出的“打印到文件”设备。这效果非常好。

我想将此操作翻译为命令行。

  • 据我了解,这不是一个操作pdftk可以做。请交叉检查。
  • 该命令lp将接受该选项-o number-up=2,但无法识别任何名为“打印到文件”的设备,该设备确实不会出现在lpstat -p -d.
  • 我知道这个帖子什么是“打印到文件”?可以从命令行使用它吗?。我已经安装了cups-pdf由此确认名为 PDF 的新打印机。但是,简单文本文件的打印质量太原始(例如,一开始就没有打印边距)。此外,如果我在该设备上重新打印现有的 PDF 文件,例如lp -p PDF existing.pdf,evince 甚至无法打开该复制的输出,而“打印到文件”方式则不然。
  • 我看了一下man evince。在底部,它涉及一些打印预览选项并重定向到GNOME-开发者项目页面。诚然,我无法理解和使用它。

实际上是否有一种方法可以将命令行的灵活性与我从 GUI 中的“打印到文件”选项获得的打印质量结合起来?

我的测试用例再次是从命令行从每张打印两页的源文档创建 PDF。

感谢您的思考。

答案1

pdfnup(或pdfjam) 命令行工具。您可以从您的发行版的存储库中安装它(sudo apt-get install pdfjam对于基于 Debian 的发行版,yaourt -S pdfnupArch 等)。

默认选项将采用输入 PDF 文件并生成输出 PDF,每页有两个输入页面:

pdfnup -o output.pdf input.pdf

答案2

扩展至接受的答案:

使用时pdfjam您还需要通过横向选项。用法是:

pdfjam input.pdf -o output.pdf --nup 2x1 --landscape

请注意,额外的内容--angle 90可能会节省您的时间,具体取决于原始 PDF 中页面的方向。

答案3

是的,您可以打印多页:

command | lpr -P <printername> -p <priority from 1 to 100>

使用示例:

ls -l | lpr -P hpprinter -p 2

答案4

扩展至这个扩展答案对于使用 ISO A4 的非美国人:

pdfjam input.pdf -o output.pdf --nup 2x1 --landscape --paper a4paper

否则 pdfjam 似乎默认为 US-Letter (至少在我的机器上)。

相关内容