E’ curioso: Mac OS X non include un tool per la scansione automatica di documenti fronte-retro, usando uno scanner con alimentatore di fogli solo-fronte.
L’unica soluzione che mi era venuta in mente consisteva nel fotocopiare le pagine pari (cioè il retro), infilarle manualmente fra una pagina dispari e l’altra, e scansionare il tutto. Poi però avrei dovuto di nuovo separare la risma e gettare le pagine pari.
Ho trovato un modo per automatizzare il processo, eccolo qui:
Assumo di avere due file: fronte.pdf che contiene la prima pagina e tutte le pagine “fronte”, cioè quelle dispari: un file retro.pdf che contiene tutte le pagine pari. Queste però sono state scansionate infilando il documento dall’altro lato nello scanner, quindi la prima pagina sarà l’ultimo retro, la seconda sarà il penultimo, e così via.
Ci sono quindi due operazioni da fare: invertire l’ordine delle pagine in retro.pdf e poi combinare i due PDF in un unico pdf.
Per l’operazione di inversione delle pagine ho scaricato e installato PDFTK che non offre un’interfaccia grafica ma solo da prompt dei comandi.
Ho creato questo script, salvandolo come reverse-pdf.rb:
#!/usr/bin/ruby if __FILE__ == $0 puts "Check that pdftk is installed" if ARGV.length != 2 puts "Syntax: #{__FILE__} pdf_to_reverse.pdf <page count>" exit end pdf = ARGV[0] reversed_pdf = pdf.gsub(/\.pdf/i, "_reversed.pdf") page_count = ARGV[1] `pdftk #{pdf} cat #{page_count}-#{1} output #{reversed_pdf}` end
Va invocato con: ./reverse-pdf.rb retro.pdf 55 dove 55 è il numero dell’ultima pagina.
Lo script creerà, nello stesso folder, un retro-reversed.pdf.
Per la seconda parte del lavoro, ho trovato questo script, che ho chiamato combine-pdf.rb:
#!/usr/bin/ruby if __FILE__ == $0 puts "Run this on os x to shuffle two pdf's, where the even pages are already reversed (reverse them with other script)" if ARGV.length != 3 puts "Syntax: #{__FILE__} odds.pdf reversed_evens.pdf output.pdf" exit end odds_pdf = ARGV[0] reversed_evens_pdf = ARGV[1] output_pdf = ARGV[2] # obviously, only works on os x. I didn't see an easy way to combine pdf's # in pdftk or other tools I searched for `python '/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py' --output '#{output_pdf}' --shuffle '#{odds_pdf}' '#{reversed_evens_pdf}'` end
Questo simpatico script utilizza l’Automator interno di Apple in modalità shuffle (che in italiano è stata tradotta con l’orrendo “casuale”) che appunto prende, in ordine, una pagina alternata da ogni documento per combinare il pdf in uscita.
Lo si invoca con: ./combine-pdf.rb fronte.pdf retro_reversed.pdf combinato.pdf