1페이지를 4부분으로 양면으로 인쇄할 때 다음 페이지는 뒷면으로 변한다

4798 단어 PythonPyPDF2

너 뭐 하고 싶어?


pdf 파일로 A4를 4개 면으로 나누어 양면 인쇄를 할 때를 고려한다.
나는 기본적으로 다음과 같은 순서에 따라 페이지를 분배할 수 있다고 생각한다.

이렇게 종이를 읽으면 되지만 이번에는 종이를 뜯어서 책자로 만들고 싶어요.그래서 양면 인쇄를 할 때 다음 페이지의 순서를 정면으로 바꾸고 싶었다.
이렇게 되면 인쇄한 후 종이를 자르면 양면의 한 쌍이 된다.


절차.


PyPDF2를 활용했습니다.원래는 pdf의 결합으로 사용되었지만 페이지를 다시 배열하는 데도 도움이 된다.
import PyPDF2

def sorting(i):
    lst = [0, 2, 4, 6, 3, 1, 7, 5]
    q = i % 8
    return lst[q]


targetPdf = PyPDF2.PdfFileReader('./target.pdf')
sortedPdf = PyPDF2.PdfFileWriter()
merger = PyPDF2.PdfFileMerger()

sort = []

for i in range(int(targetPdf.getNumPages() / 8) * 8):
    sort.append(sorting(i) + int(i / 8) * 8)

for i in range(int(targetPdf.getNumPages() / 8) * 8):
    sortedPdf.addPage(targetPdf.getPage(sort[i]))


with open('./sorted.pdf', 'wb') as f:
    sortedPdf.write(f)

처리 페이지 수가 없으면 8로 다 나눌 수 없는 경우.
일단 여분의 부분을 대상에서 제외하면 피할 수 있다.

왜 이런 일을 하고 싶은지(배경)


실제로 편의점에서는 A4와 A3의 인쇄 비용에 변화가 없었다.지금까지 A4의 2분할(소책자)을 사용했지만, A3분할4를 반값으로 나누면 안 된다는 것을 알아차렸다.

좋은 웹페이지 즐겨찾기