大規模印刷ジョブを複数の小さなジョブに分割

大規模印刷ジョブを複数の小さなジョブに分割

1,000 page documentプリンタを使って印刷したいとしましょう。1,000 pages印刷ジョブが進行中は他のジョブを印刷できないことがわかります。

1,000 pages他のユーザーが自分の文書を印刷したときに印刷できることを願っています。 1つのアプローチは、それぞれ50ページの20の小さな印刷ジョブを作成することです。この場合、ユーザは、より小さな印刷ジョブの間に印刷ジョブをキューに入れることができる。

これを行う方法はありますか?文書を手動で分割し、各部分を別々に印刷する必要がない自動化された方法ですか?

ベストアンサー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]

各小さなタスクが完了したときに通知を受け取るには、command mailafter commandlprとbefore commandを使用できますsleep

おすすめ記事