和量子PDF

和量子PDF

在PDF文件中,如何将偶数页的页面旋转90度,奇数页的页面旋转-90度?

PDFtk,我所知道的就是旋转单个页面:

pdftk in.pdf cat 1W output out.pdf

并旋转所有页面:

pdftk in.pdf cat 1-endW output out.pdf

答案1

pdftk版本1.45(2012年12月6日)或稍后,使用:

pdftk A=MyPdfFile.pdf shuffle AoddWest AevenEast output MyRotatedFile.pdf

如果你有pdftk版本1.44感谢吉尔斯指出这一点!), 您可以使用:

pdftk A=MyPdfFile.pdf shuffle AoddL AevenR output MyRotatedFile.pdf

man pdftk(至少在最近的版本中) 描述了一些类似的示例案例。

答案2

这很容易,因为 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)

答案3

作为改进吉尔斯的回答:

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

答案4

量子PDF

qpdf in.pdf out.pdf --rotate=+90:1-z:even --rotate=-90:1-z:odd

请参阅文档更多的

相关内容