소책자 형식으로 작성된 pdf 파일이 있습니다. 가로 방향으로 A4 용지에 인쇄합니다. 여기 pdf에는 두 페이지가 있으며 실제 책의 네 페이지에 해당합니다.
-------------------------------
| | |
| | |
| | |
| (1) | (3) |
| | |
| | |
| | |
-------------------------------
-------------------------------
| | |
| | |
| | |
| (4) | (2) |
| | |
| | |
| | |
-------------------------------
괄호 안의 숫자는 개별 페이지의 순서와 일치합니다.
나는 리눅스에 모든 종류의 명령 (pdfbook, pdfnup 등)이 있음을 알고 있습니다 (아마도이 책자를 처음 만드는 데 사용되었을 것입니다). 어떻게 '예약 취소'합니까? 즉, 최종 제품의 각 개별 페이지가 일반적인 방식으로 주문 된 pdf의 개별 페이지 인 pdf 문서를 만들고 싶습니다.
편집하다
Gilles 덕분에 다음 코드를 사용했습니다.
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)
1
나는 이것이 superuser.com에
—
Adam Zalcman
@AdamZalcman 왜? 그는 리눅스 프로그램을 찾고있다
—
Michael Mrozek
당신은 수있는 문제에 대한 (질에 의해)이 질문의 답을 적응 , 즉는 PyPdf 스크립트를 만들 수 있습니다.
—
sr_
3 페이지와 4 페이지를 바꾸지 않았습니까? 인쇄 작업을했습니다. 그 레이아웃은 의미가 없습니다 ....
—
와일드 카드