回答:
pdftk 1.44 shuffle
は奇数ページと偶数ページで異なる変換を許可する操作を追加したため、これは簡単です(他の用途の中でも)。
古いバージョンのpdftkがある場合、このPythonスクリプトをPyPdfライブラリで使用できます。(警告、ブラウザに直接入力します。)
#!/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)
pdftk
バージョン1.45(2012年12月6日)以降、使用:
pdftk A=MyPdfFile.pdf shuffle AoddWest AevenEast output MyRotatedFile.pdf
pdftk
バージョン1.44を持っている場合(それを指摘してくれたGillesに感謝します!)、次を使用できます:
pdftk A=MyPdfFile.pdf shuffle AoddL AevenR output MyRotatedFile.pdf
man pdftk
(少なくとも最近のバージョンでは)
いくつかの同様の例が説明されています。
ジルの答えの改善として:
#!/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"))
プログラムが入出力ファイルのコマンドライン引数を受け入れる場合: python script.py <inputFileName> <outputFileName>
pdftk in.pdf cat 1-endwest output out.pdf
、すなわちwest
の代わりに、W
またはsouth
代わりにS
...