From 1ea5ca36cea38342ce94172ac1f980dacf2a7dd5 Mon Sep 17 00:00:00 2001 From: Francesco Minnocci Date: Wed, 2 Mar 2022 12:00:10 +0100 Subject: [PATCH] Inizializza repo --- impagina | 25 +++++++++++++++++++++++++ printa4 | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100755 impagina create mode 100755 printa4 diff --git a/impagina b/impagina new file mode 100755 index 0000000..790213c --- /dev/null +++ b/impagina @@ -0,0 +1,25 @@ +#!/bin/sh + +# Initialize variables +input="$1" +inputMul4="/tmp/${input%.pdf}-Mul4.pdf" +outputImpaginato="${input%.pdf}-Impaginato.pdf" +empty="/tmp/empty.pdf" +n="$(pdftk "$input" dump_data | grep NumberOfPages | cut -d' ' -f2)" + +# Add empty pages +echo .bp | groff -T pdf > "$empty" + +pdftk F=$input E="$empty" cat F1-$n $(for x in $(seq 1 $((4-n%4))); do printf 'E1 '; done) output $inputMul4 + +n=$((n+(4-n%4))) +range= +k=1 +while [ "$k" -lt $((n/2)) ]; do + range="$range$k $((n/2+k)) $((n/2+k+1)) $((k+1)) " + k=$((k+2)) +done + +pdftk $inputMul4 cat $range output $outputImpaginato + +rm "$empty" $inputMul4 diff --git a/printa4 b/printa4 new file mode 100755 index 0000000..0fd99c1 --- /dev/null +++ b/printa4 @@ -0,0 +1,45 @@ +#!/bin/sh + +# Semplice shellscript che permette di stampare un file in una stampante del Dipartimento di Matematica +# da una qualsiasi shell Unix (Linux, MacOS, BSD...). Funziona anche da remoto! +# +# +# Utilizzo: modifica lo script inserendo il tuo username +# al posto di "minnocci" nella variabile _user, +# e poi esegui lo script così: +# +# printa4 /percorso/del/Documento.pdf +# + +_user="minnocci" + +main() { + for f in $@; do + scp $f ${_user}@ssh1.dm.unipi.it:/student/home/${_user}/printa4-$f + ssh -XY ${_user}@ssh1.dm.unipi.it okular /student/home/${_user}/printa4-$f --print + ssh ${_user}@ssh1.dm.unipi.it rm /student/home/${_user}/printa4-$f + done + echo "File temporanei eliminati " +} + +usage() { + printf "\nScript che consente di stampare in Aula 4\n\nUtilizzo: $(basename $0) <...>\n\nAd esempio:\n\n\t$(basename "$0") ~/GAAL.pdf\n\nNOTA: La variabile del nome utente usato per stampare va modificato all'interno dello script\n\n" +} + +error() { + printf "$@\n" 1>&2 + usage +} + +if [ -z "$1" ] ; then + error "Non hai specificato nessun file..." +else + case $1 in + -h|--help) + usage ;; + -*) + error "Opzione invalida: $1" ;; + *) + main $@ ;; + esac +fi