Putar halaman pdf: 90 derajat untuk halaman genap dan -90 derajat untuk halaman ganjil


27

Saya bertanya-tanya dalam file pdf, bagaimana cara memutar halaman pdf: 90 derajat untuk halaman genap dan -90 derajat untuk halaman aneh?

Dengan pdftk, yang saya tahu adalah merotasi satu halaman pdftk in.pdf cat 1W output out.pdf, dan memutar semua halaman pdftk in.pdf cat 1-endW output out.pdf.

Terima kasih!


FYI: untuk versi pdftk yang lebih baru, sintaksnya adalah:, pdftk in.pdf cat 1-endwest output out.pdfyaitu westalih- alih Watau southbukan S...
colidyre

Jawaban:


11

Ini mudah karena pdftk 1.44 yang menambahkan shuffleoperasi yang memungkinkan transformasi yang berbeda pada halaman ganjil dan genap (di antara kegunaan lain).

Jika Anda memiliki versi pdftk yang lebih lama, Anda dapat menggunakan skrip Python ini dengan pustaka PyPdf . (Peringatan, ketikkan langsung ke browser.)

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

Sebagai peningkatan pada jawaban Gilles :

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

Saat program menerima argumen baris perintah dari file input dan output: python script.py <inputFileName> <outputFileName>

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.