Risposte:
Questo è facile da pdftk 1.44 che ha aggiunto l' shuffle
operazione consentendo diverse trasformazioni su pagine pari e dispari (tra gli altri usi).
Se hai una versione precedente di pdftk, puoi usare questo script Python con la libreria PyPdf . (Attenzione, digitato direttamente nel browser.)
#!/usr/bin/env python
import sys
from pyPdf import PdfFileWriter, PdfFileReader
input = PdfFileReader(sys.stdin)
output = PdfFileWriter()
for i in range(0,input.getNumPages()):
output.addPage(input.getPage(i).rotateClockwise(90 if i%2==0 else -90))
output.write(sys.stdout)
Con la pdftk
versione 1.45 (6 dicembre 2012) o successiva, utilizzare:
pdftk A=MyPdfFile.pdf shuffle AoddWest AevenEast output MyRotatedFile.pdf
Se hai la pdftk
versione 1.44 ( grazie a Gilles per averlo sottolineato! ), Puoi usare:
pdftk A=MyPdfFile.pdf shuffle AoddL AevenR output MyRotatedFile.pdf
Alcuni casi di esempio simili sono descritti in man pdftk
(almeno nelle versioni recenti).
Come miglioramento alla risposta di Gilles :
#!/usr/bin/env python
import sys
from pyPdf import PdfFileWriter, PdfFileReader
input = PdfFileReader(open(sys.argv[1], "rb"))
output = PdfFileWriter()
for i in range(0,input.getNumPages()):
output.addPage(input.getPage(i).rotateClockwise(90 if i%2==0 else -90))
output.write(open(sys.argv[2], "wb"))
Dove il programma accetta argomenti della riga di comando di un file di input e output: python script.py <inputFileName> <outputFileName>
pdftk in.pdf cat 1-endwest output out.pdf
west
W
south
S