Autore dello script: Fabrizio | Sito Web: http://bash-script.b2com.org
Questo Script permette di formattare e stampare un file di testo ottenendo sia l'output cartaceo che su file PDF, il tutto ben impaginato grazie al comando pr.
Ecco il codice sorgente:
#!/bin/bash
nome="$*"
stampante="Photosmart_8400_series"
echo "-------------------------------------------------------"
echo " TOOL PER LA STAMPA "
echo "-------------------------------------------------------"
echo "INSERISCI IL NUMERO DI CARATTERI PER POLLICE (10,12,17)"
read caratteri
echo "INSERISCI IL MARGINE SINISTRO"
echo "IN PUNTI POSTSCRIPT (40,50,60)"
read margine
echo "CHE TIPO DI OUTPUT DESIDERI?"
echo "| P=PDF | S=STAMPANTE | E=ENTRAMBI |"
read risposta
pr -F $nome > $nome.pr
if [ "$risposta" == "P" ] || [ "$risposta" == "p" ]
then
lpr -P PDF -o page-left=$margine -o cpi=$caratteri $nome.pr
elif [ "$risposta" == "S" ] || [ "$risposta" == "s" ]
then
lpr -P $stampante -o page-left=$margine -o cpi=$caratteri $nome.pr
elif [ "$risposta" == "E" ] || [ "$risposta" == "e" ]
then
lpr -P $stampante -o page-left=$margine -o cpi=$caratteri $nome.pr
lpr -P PDF -o page-left=$margine -o cpi=$caratteri $nome.pr
fi
rm $nome.pr
sleep 1
echo "Finito!"
Prima di utilizzare lo script dovete modificare la linea n.3:
stampante="Photosmart_8400_series"
indicando il nome della vostra stampante predefinita.
Inoltre dovreste avere installato nel vostro sistema il pacchetto cups-pdf per generare l'output in formato PDF.
Fate riferimento al vostro gestore di pacchetti per installare cups-pdf se non presente.
Lo script accetta come unico parametro il nome del file (attenzione deve essere un file di testo ASCII e non un'immagine o un file scritto ad esempio con OpenOffice.)
./stampa.sh mio_file.txt
e richiede all'utente alcune informazioni:
Il numero di caratteri per pollice e il margine sinistro dovrebbero essere usati nel seguente modo:
| Colonne di testo | Caratteri per pollice | Margine sinistro |
|---|---|---|
| 80 | 12 | 50 oppure 60 |
| 72 | 10 | 30 oppure 40 |
Provate ad utilizzare varie combinazioni fin quando trovate quella giusta per voi.
Per non sprecare fogli di carta stampate le vostre prove su PDF! :-)