![使用终端在一张物理纸页上打印多张单独的图片](https://linux22.com/image/92257/%E4%BD%BF%E7%94%A8%E7%BB%88%E7%AB%AF%E5%9C%A8%E4%B8%80%E5%BC%A0%E7%89%A9%E7%90%86%E7%BA%B8%E9%A1%B5%E4%B8%8A%E6%89%93%E5%8D%B0%E5%A4%9A%E5%BC%A0%E5%8D%95%E7%8B%AC%E7%9A%84%E5%9B%BE%E7%89%87.png)
我有多个.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
)
列出您的打印机选项
terminal-where-image-is$ lpstat -p -d
设置打印机
terminal-where-image-is$ lpoptions -d printer_name
可选:将 PPI(每英寸像素数)设置为等于实际图像属性 PPI
terminal-where-image-is$ ppi=$(identify -format "%x" page.png)
现在按实际尺寸打印(来自 ppi 设置)
terminal-where-image-is$ lp -o ppi=$ppi page.png
答案4
lp
不了解图像文件;它可以推迟到特定于设备的驱动程序,使用执行各种设备“可能”支持的功能的选项。这lp
手册页没有列出任何适合您目的的选项。
相反,如果您希望在一张纸上显示多个图像文件,您可以按照所需的排列方式将图像组合成单页图像来实现。 ImageMagick 等程序对此很有用。
进一步阅读: