PROLOGO
in ufficio stiamo implementando un sistema di stampa integrato con il gestionale in uso in modo da creare dei file pdf che poi vengono inviati ad una società esterna che si occupa di stampare ed inviare il cartaceo tramite posta.
LE SPECIFICHE
Il fornitore ci ha però richiesto che tutti i documenti appartenenti ad una stessa destinazione fossero forniti in un unico file pdf in modo da potere stampare in modo massivo i vari fogli con una stampa fronte-retro continua.
Questa richiesta mi ha costretto a creare uno script che prendesse in pasto i vari documenti creati dal gestionale per unirli e creare il pdf finale da inviare.
LA SOLUZIONE
La soluzione adottata e stata piuttosto semplice, grazie all'uso di un paio di applicativi open source:
- pdftk: un tool che permette di manipolare file pdf in modo semplice e veloce.
- grep: non credo che ci sia bisogno di dire a cosa serve ma meglio ricordarlo... potentissimo tool per eseguire ricerche tamite regular expression su file di testo.
- cut: semplice tool per estrarre campi da fiel di testo.
Con l'aiuto di questi software ho realizzato uno script batch che si occupa di controllare che ogni singolo documento da accodare sia composto da un numero pari di pagine e in caso contario di aggiungere una pagina vuota per mantenere il numero delle pagine pari.
L'uso dello script e molto semplice, basta infatti chiamarlo dalla linea di comando passando come parametri: per primo il nome del file di output e in successione i nomi di tutti i file che devono essere accodati. E' possibile passare i nomi dei file con il path completo sia per l'output sia per i file di input.
Tutto il codice dello script e' stato commentato abbondantemente cosi potete capire meglio cosa viene fatto e se avete bisogno di fare modifiche dovreste fare meno fatica.
Esempio di uso:
c:>odd_merge.bat output.pdf input1.pdf input2.pdf input3.pdf
BIBLIOGRAFIA
Ecco dove recuperare i vari programmi citati nell'articolo:
- pdftk: http://www.accesspdf.com/pdftk/
- grep, cut: http://unxutils.sourceforge.net/
Potete scaricare lo script cliccando qui sotto:
odd_merge con applicativi di supporto
odd_merge senza applicativi di supporto (solo script)







ciao grazie
Massimiliano