KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
You will attract cultured and artistic people to your home.
FrontPage › pyPDF
  • [http]홈페이지
  • PDF파일을 반으로 자르는 방법(without Acrobat)
    • 목적 : Workshop/2008Spring에서 이주호님이 Acrobat Professional로 보여준 방법을 최대한 쉽게(?) 프로그램으로 해결해본다.
    • 최종소스 document1.pdf문서를 document-output.pdf로 만들어줍니다.
      • 모든 페이지를 반으로 자릅니다.
      • 첫페이지의 오른쪽 반 즉 2page가 실제로는 마지막 페이지가 되어야 합니다.
      • Acrobat Professional은 Crop Box를 변경하지만 그냥 Media Box변경했습니다.
      • 소스
        #!/usr/bin/env python
        from pyPdf import PdfFileWriter, PdfFileReader
        
        output = PdfFileWriter()
        inputleft = PdfFileReader(file("document1.pdf", "rb"))
        inputright = PdfFileReader(file("document1.pdf", "rb"))
        
        def LeftHalfPage(p):
            p.mediaBox.upperRight = (
                p.mediaBox.getUpperRight_x() / 2,
                p.mediaBox.getUpperRight_y()
                )
            return p
        
        def RightHalfPage(p):
            p.mediaBox.lowerLeft = (
                p.mediaBox.getUpperRight_x() / 2,
                p.mediaBox.getLowerLeft_y()
                )
            return p
        
        ###########################################################
        output.addPage(LeftHalfPage(inputleft.getPage(0)))
        endPage = RightHalfPage(inputright.getPage(0))
        
        for i in range(1, inputleft.getNumPages()):
            output.addPage(LeftHalfPage(inputleft.getPage(i)))
            output.addPage(RightHalfPage(inputright.getPage(i)))
        
        output.addPage(endPage)
        
        # print how many pages input1 has:
        print "document1.pdf has %s pages." % inputleft.getNumPages()
        
        # finally, write "output" to document-output.pdf
        outputStream = file("document-output.pdf", "wb")
        output.write(outputStream)
        outputStream.close()
        

^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-05-27 08:16:53
Processing time 0.0280 sec