Cropping pages of a .pdf file

前端 未结 5 1971
野的像风
野的像风 2020-12-01 01:31

I was wondering if anyone had any experience in working programmatically with .pdf files. I have a .pdf file and I need to crop every page down to a certain size.

Af

5条回答
  •  日久生厌
    2020-12-01 02:13

    pyPdf does what I expect in this area. Using the following script:

    #!/usr/bin/python
    #
    
    from pyPdf import PdfFileWriter, PdfFileReader
    
    with open("in.pdf", "rb") as in_f:
        input1 = PdfFileReader(in_f)
        output = PdfFileWriter()
    
        numPages = input1.getNumPages()
        print "document has %s pages." % numPages
    
        for i in range(numPages):
            page = input1.getPage(i)
            print page.mediaBox.getUpperRight_x(), page.mediaBox.getUpperRight_y()
            page.trimBox.lowerLeft = (25, 25)
            page.trimBox.upperRight = (225, 225)
            page.cropBox.lowerLeft = (50, 50)
            page.cropBox.upperRight = (200, 200)
            output.addPage(page)
    
        with open("out.pdf", "wb") as out_f:
            output.write(out_f)
    

    The resulting document has a trim box that is 200x200 points and starts at 25,25 points inside the media box. The crop box is 25 points inside the trim box.

    Here is how my sample document looks in acrobat professional after processing with the above code:

    This document will appear blank when loaded in acrobat reader.

提交回复
热议问题