将大型打印作业分成多个较小的作业

将大型打印作业分成多个较小的作业

假设我想1,000 page document使用一台打印机打印。我的理解是,在进行1,000 pages打印作业时,无法打印其他任何内容。

我想让其他用户在1,000 pages打印文档时也可以打印他们的文档。一种方法是创建 20 个较小的打印作业,每个打印作业 50 页。在这种情况下,用户将能够在较小的打印作业之间排队打印作业。

有没有办法做到这一点?也许是一种不需要手动拆分文档并单独打印每个部分的自动化方式?

答案1

您可以创建一个名为 的文本文件pages.txt,其中包含您要一次打印的页面范围,如下所示:

1-50
51-100
101-150
151-200
. . . .
. . . .

该命令lpr将使您能够向打印机发送打印命令,有关该命令的更多信息请查看lpr-男人

为了自动化工作,您可以使用以下内容:

#!/bin/bash
while IFS= read line 
do

    lpr -P <my_printer_name> -o page-ranges=$line
    sleep 10

done <pages.txt

如果您想在打印之间设置时间间隔,可以使用sleepafter命令lpr(例如sleep 10上一个 bash 中的秒数)。

如果您希望在打印作业完成后收到电子邮件通知,您可以在执行以下操作mail后使用该命令:done <pages.txt

#!/bin/bash
while IFS= read line 
do

    lpr -P <my_printer_name> -o page-ranges=$line
    sleep 10

done <pages.txt

echo "This is message body" | mail -s "This is Subject" [email protected]

如果您希望在每个较小的作业完成时收到通知,那么您可以mail在命令之后lpr和命令之前使用命令sleep

相关内容