Saya memiliki file pdf yang dibuat menjadi format buklet. Ini dimaksudkan untuk mencetak pada kertas A4 dalam orientasi lanskap; di sini ada dua halaman di pdf, yang harus sesuai dengan empat halaman di buku yang sebenarnya.
-------------------------------
| | |
| | |
| | |
| (1) | (3) |
| | |
| | |
| | |
-------------------------------
-------------------------------
| | |
| | |
| | |
| (4) | (2) |
| | |
| | |
| | |
-------------------------------
Nomor kurung sesuai dengan urutan masing-masing halaman.
Saya tahu bahwa ada segala macam perintah (pdfbook, pdfnup, dll.) Di linux (yang mungkin digunakan untuk membuat buklet ini sejak awal). Bagaimana saya 'menghapusnya' --- yaitu, saya ingin membuat dokumen pdf dari sini di mana setiap halaman individu dari produk akhir adalah halaman individual pdf, dipesan dengan cara biasa.
Edit
Berkat Gilles, saya berhasil menggunakan kode berikut:
import copy, sys
from pyPdf import PdfFileWriter, PdfFileReader
input = PdfFileReader(sys.stdin)
output = PdfFileWriter()
second_half = []
for i in range(0,input.getNumPages()):
p = input.getPage(i)
q = copy.copy(p)
print >> sys.stderr, 'splitting page',i
print >> sys.stderr, '\tlowerLeft:',p.mediaBox.lowerLeft
print >> sys.stderr, '\tupperRight:',p.mediaBox.upperRight
p.mediaBox.upperRight = (ur[0], (bl[1]+ur[1])/2)
p.mediaBox.lowerLeft = bl
q.mediaBox.upperRight = ur
q.mediaBox.lowerLeft = (bl[0], (bl[1]+ur[1])/2)
if i % 2 == 0:
output.addPage(p)
qold = q
else:
output.addPage(q)
output.addPage(qold)
output.addPage(p)
output.write(sys.stdout)