Obróć strony pdf: 90 stopni dla stron parzystych i -90 stopni dla stron nieparzystych


27

Zastanawiałem się w pliku pdf, jak obracać strony pdf: 90 stopni dla stron parzystych i -90 stopni dla stron nieparzystych?

W pdftk wszystko, co wiem, to obracanie strony o pdftk in.pdf cat 1W output out.pdfi obracanie wszystkich stron o pdftk in.pdf cat 1-endW output out.pdf.

Dzięki!


FYI: w przypadku nowszych wersji pdftk składnia jest następująca: pdftk in.pdf cat 1-endwest output out.pdftj. westZamiast Wlub southzamiast S...
colidyre

Odpowiedzi:


11

Jest to łatwe, ponieważ pdftk 1.44 dodał shuffleoperację umożliwiającą różne transformacje na stronach nieparzystych i parzystych (między innymi zastosowaniami).

Jeśli masz starszą wersję pdftk, możesz użyć tego skryptu Python z biblioteką PyPdf . (Ostrzeżenie wpisane bezpośrednio w przeglądarce).

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

Jako ulepszenie odpowiedzi Gillesa :

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

Gdy program akceptuje argumenty wiersza polecenia pliku wejściowego i wyjściowego: python script.py <inputFileName> <outputFileName>

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.