使用终端在一张物理纸页上打印多张单独的图片

使用终端在一张物理纸页上打印多张单独的图片

我有多个.png文件(例如:pic_001.png, pic_002.png... pic_200.png)。这些基本上是本书的单独页面。

我想创建一个打印作业,该作业将在每个物理页上打印 2 张这样的图片,因此它看起来就像一本普通的书本。

我尝试这样做:

lp pic_001.png pic_002.png pic_003.png pic_004.png -d color-printer-1 -o sides=one-sided -o number-up=2

但每一页只打印一张图片。

与 for 循环的结果相同:

for i in `seq 1 2 8`; do lp pic_00$i.png pic_00$[$i + 1].png -d color-printer-1 -o sides=one-sided -o number-up=2; done

但这也为每对图片创造了单独的工作。

答案1

lp您可以尝试使用 imageMagick,从两张或多张图像中制作一张图像,然后打印它们,而不是直接使用

convert image1.png image2.png image3.pgn -append output.png

会将图像一个放在另一个之上。如果替换-append+append,图像将并排显示。

答案2

接受答案的替代方法是使用 ImageMagickmontage命令,它在定义网格(平铺)大小时提供额外的灵活性:

montage -tile 1x2 -mode concatenate *.png page.png

该命令将为每组输入文件生成多个 page-*.png 拼贴画,适合单个页面。

答案3

从...开始

初始图像

要多次打印一张图像,请设置文件名。

terminal-where-image-is$ x="one_image.png"

打印不同的图像“蒙太奇”在一起在一页上跳过上述步骤并在下面输入它们。

图像魔术师安装;跑步

terminal-where-image-is$ montage -tile 2x4 -mode concatenate $x $x $x $x $x $x $x $x -border 1 page.png

这使

多张图像

注意:您可以更改边框数量以获得更大或更小的边框,您可以更改平铺排列以获得不同的行列配置。

要打印,(使用lp

  1. 列出您的打印机选项

    terminal-where-image-is$ lpstat -p -d
    
  2. 设置打印机

    terminal-where-image-is$ lpoptions -d printer_name
    
  3. 可选:将 PPI(每英寸像素数)设置为等于实际图像属性 PPI

    terminal-where-image-is$ ppi=$(identify -format "%x" page.png)
    
  4. 现在按实际尺寸打印(来自 ppi 设置)

    terminal-where-image-is$ lp -o ppi=$ppi page.png
    

答案4

lp不了解图像文件;它可以推迟到特定于设备的驱动程序,使用执行各种设备“可能”支持的功能的选项。这lp手册页没有列出任何适合您目的的选项。

相反,如果您希望在一张纸上显示多个图像文件,您可以按照所需的排列方式将图像组合成单页图像来实现。 ImageMagick 等程序对此很有用。

进一步阅读:

相关内容