Isso é muito simples com zenity
. Expanda o script com um comando como este:
NUMBER=$(zenity --entry --text="How many Labels should be printed?" --entry-text=1)
A variável $ NUMBER agora contém a entrada do usuário. Se o usuário apenas pressionar "OK", ele conterá "1".
Unfortunetly libreoffice
não aceita um sinalizador para especificar o número de cópias. Então você tem que executar o comando libreoffice várias vezes ao imprimir várias cópias. Mas, em vez disso, você pode usar o libreoffice para pré-preparar o arquivo e usar lpr
para fazer a impressão real:
libreoffice --print-to-file --printer-name printername --outdir /tmp/ file.doc
lpr /tmp/file.ps -${NUMBER} -P printername
rm /tmp/file.ps
lpr
aceita um número de cópias flag -#
.
EDITAR:
Se lpr
não estiver funcionando, basta ligar para o libreoffice várias vezes:
for (( c=1; c<=${NUMBER}; c++ )); do
libreoffice -p file.doc
done