Answers:
这很容易,因为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)
在1.45pdftk
版(2012年12月6日)或更高版本中,请使用:
pdftk A=MyPdfFile.pdf shuffle AoddWest AevenEast output MyRotatedFile.pdf
如果您拥有1.44pdftk
版本(感谢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
...