Eu não testei isso, mas isso deve funcionar:
cd some-directory
for file in *.pdf ; do
lp -n2 # number of copies
-o media=a4\ # media
-o number-up=2\ # number of pages per sheet
-o fit-to-page\ # scale to page
-o sides=two-sided-long-edge\ # duplex (can be 'one-sided')
-o tray1\ # tray
-d SomePrinter\ # device
"$file"
rm "$file"
done
Você precisará instalar e configurar os cups antes de poder usar lp
. Veja a% man_de% manpage ( lp
) para mais informações sobre opções comuns.
Você pode querer arquivar os arquivos e excluí-los assim que souber que foram impressos.
Para isso, substitua man lp
por:
mkdir archived
mv "$file" archived
Como mencionado em O comentário de Anthon , você pode querer implementar algum tipo de bloqueio de arquivo para garantir que o trabalho e os aplicativos do cron não interfiram uns nos outros. Para isso, você tem um poucas opções . rm "$file"
é provavelmente sua melhor aposta; tem excelente suporte PHP.
Você pode jogar esse script em um cronjob. Apenas certifique-se de definir seu caminho para incluir flock
e /usr/bin
.
Não execute o script como um cronjob ou com seus arquivos reais até saber que funciona.