私はpdfファイルで、pdfページをどのように回転させるのかと思っていました:偶数ページでは90度、奇数ページでは-90度?
Pdftkによって、私が知っているのは、pdftk in.pdf cat 1W output out.pdf
、およびpdftk in.pdf cat 1-endW output out.pdf
。
ありがとう!
これはshuffle
演算を追加したpdftk 1.44以降、奇数ページと偶数ページで(他の用途の中で)異なる変換を可能にするため、簡単です。
古いバージョンの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
(少なくとも最近のバージョンでは)。
Gilles's 答えの改善として:
#!/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>