[unix] PDF 페이지 회전 : 짝수 페이지의 경우 90도, 홀수 페이지의 경우 -90도

PDF 파일에서 PDF 페이지를 회전시키는 방법이 궁금합니다. 짝수 페이지의 경우 90도, 홀수 페이지의 경우 -90 도입니까?

pdftk에 의해 내가 아는 것은 페이지를로 회전시키고 pdftk in.pdf cat 1W output out.pdf모든 페이지를로 회전시키는 것 pdftk in.pdf cat 1-endW output out.pdf입니다.

감사!



답변

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 (6 2012 12월) 이상을 사용하십시오

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

pdftk버전 1.44 가있는 경우 ( Giles 덕분에 이것을 지적했습니다! ) 다음을 사용할 수 있습니다.

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>


답변