Dividindo um grande trabalho de impressão em vários trabalhos menores

2

Digamos que eu queira imprimir um 1,000 page document usando uma impressora. Meu entendimento é que, enquanto o trabalho de impressão 1,000 pages ocorre, nada mais pode ser impresso.

Gostaria de permitir que outros usuários imprimam seus documentos enquanto o documento 1,000 pages está sendo impresso. Uma maneira de fazer isso é criar 20 trabalhos de impressão menores de 50 páginas cada. Nesse caso, os usuários poderão enfileirar seus trabalhos de impressão entre os trabalhos de impressão menores.

Existe uma maneira de fazer isso? Talvez uma forma automatizada que não exija a divisão manual do documento e a impressão de cada parte separadamente?

    
por UndeadKernel 12.09.2018 / 15:02

1 resposta

2

Você pode criar um arquivo de texto chamado pages.txt que inclua os intervalos de páginas que deseja imprimir por vez, da seguinte maneira:

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

O comando lpr permitirá que você envie ordens de impressão para a impressora. Para obter mais informações sobre o comando, consulte lpr - homem .

Para automatizar o trabalho, você pode usar algo como:

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

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

done <pages.txt

Se você quiser fazer intervalos de tempo entre as impressões, use o comando sleep após lpr (por exemplo, sleep 10 segundos no bash anterior).

Se você quiser ser notificado por e-mail assim que o trabalho de impressão estiver concluído, use o comando mail após done <pages.txt , como:

#!/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]

Se você quiser ser notificado quando todas as tarefas menores forem concluídas, use o comando mail após o comando lpr e antes do comando sleep .

    
por 12.09.2018 / 16:39

Tags