En faisant Bookletizer.py j'ai découvert la bibliothèque python PyPDF qui permet de manipuler des documents PDF via des scripts.
Je vais décortiquer le script que j'ai créé pour ré-ordonner les pages en mode booklet.
# Import du module
import pyPdf
[...]
# ouverture du fichier PDF avec une execption
# différente en cas de pbm fichier (fichier
# inexistant) ou pbm PDF (le fichier n'est
# pas un fichier PDF)
try:
inputfile = pyPdf.PdfFileReader(file, "rb"))
inputfile.numPages
except IOError:
sys.exit("Input file error")
except pyPdf.utils.PdfReadError:
sys.exit("Bad PDF file")
[...]
# Creation d'un simple fichier PDF vide (0 pages)
# qui va recevoir les pages dans l'ordre booklet
output = pyPdf.PdfFileWriter()
[...]
# Ajout d'une page dans le le fichier output
#Ici c'est la page n° i de inputfile
output.addPage(inputfile.getPage(i))
# Pour finir écrivons le fichier output
outputStream = file(options.outputfilename, "wb")
output.write(outputStream)
outputStream.close()
Avec cette librairie nous pouvons donc facilement tronquer, assembler, mélanger ou re-indexer des documents.