PDF sayfalarını döndür: çift sayfalar için 90 derece ve tek sayfalar için -90 derece


27

Bir pdf dosyasında, pdf sayfalarının nasıl döndürüleceğini merak ediyordum: çift sayfalar için 90 derece ve tek sayfalar için -90 derece?

Pdftk ile tek bildiğim bir sayfayı bir sayfa pdftk in.pdf cat 1W output out.pdfdöndürmek ve tüm sayfaları bir sıra döndürmek pdftk in.pdf cat 1-endW output out.pdf.

Teşekkürler!


FYI: daha yeni pdftk sürümleri için, sözdizimi şöyledir: pdftk in.pdf cat 1-endwest output out.pdfyani westyerine Wveya southyerine S...
colidyre

Yanıtlar:


11

Bu, shuffletek ve çift sayfalarda (diğer kullanımlar arasında) farklı dönüşümlere izin veren işlemi ekleyen pdftk 1.44'ten bu yana kolaydır .

Eğer daha eski bir pdftk sürümüne sahipseniz, bu Python betiğini PyPdf kütüphanesinde kullanabilirsiniz. (Uyarı, doğrudan tarayıcıya yazılmıştır.)

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

Gilles'un cevabında bir gelişme olarak :

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

Programın bir girdi ve çıktı dosyasının komut satırı argümanlarını kabul ettiği durumlarda: python script.py <inputFileName> <outputFileName>

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.