Respuestas:
Esto es fácil desde pdftk 1.44 que agregó la shuffle
operación que permite diferentes transformaciones en páginas pares e impares (entre otros usos).
Si tiene una versión anterior de pdftk, puede usar este script de Python con la biblioteca PyPdf . (Advertencia, escrita directamente en el navegador).
#!/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
versión 1.45 (6 de diciembre de 2012) o posterior, use:
pdftk A=MyPdfFile.pdf shuffle AoddWest AevenEast output MyRotatedFile.pdf
Si tiene la pdftk
versión 1.44 (¡ gracias a Gilles por señalarlo! ), Puede usar:
pdftk A=MyPdfFile.pdf shuffle AoddL AevenR output MyRotatedFile.pdf
Algunos casos de ejemplo similares se describen en man pdftk
(al menos en versiones recientes).
Como una mejora a la respuesta de 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"))
Donde el programa acepta argumentos de línea de comando de un archivo de entrada y salida: python script.py <inputFileName> <outputFileName>
pdftk in.pdf cat 1-endwest output out.pdf
decir, enwest
lugar deW
o ensouth
lugar deS
...