PDFページの回転:偶数ページの場合は90度、奇数ページの場合は-90度


27

私はpdfファイルで、pdfページを回転させる方法について疑問に思っていました:偶数ページの90度と奇数ページの-90度?

pdftkでわかっているのは、でページを回転させ、でpdftk in.pdf cat 1W output out.pdfすべてのページを回転させることpdftk in.pdf cat 1-endW output out.pdfです。

ありがとう!


FYI:新しいpdftkのバージョンについては、構文は次のとおりです。pdftk in.pdf cat 1-endwest output out.pdf、すなわちwestの代わりに、Wまたはsouth代わりにS...
colidyre

回答:


11

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)

30

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(少なくとも最近のバージョンでは) いくつかの同様の例が説明されています。


1

ジルの答えの改善として:

#!/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>

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.