当前位置:  首页>> 技术小册>> Python与办公-玩转PDF

如果理解了上一小节的RectangleObject坐标图,那么也是很容易理解这一小节的,RectangleObject对象有四个属性表示该页面的四个角的坐标位置,分别是lowerLeft(左下)、lowerRight(右下)、upperRight(右上)、upperLeft(左上),这四个点围成的区域就是最终展示的页面,区域之外的就会被裁减掉,所以我们只要重新改变这四个属性的值就可以达到裁剪的效果了。

现在举一个例子,我们要裁剪页面中间的一个区域,尺寸是400磅×500磅,为了防方便理解,先在坐标图上把裁剪示意图画出来,如图9-3所示。

只要确定了要裁剪的区域的四个角的坐标我们就可以写代码了:

  1. from PyPDF2 import PdfReader,PdfWriter
  2. reader = PdfReader"./pdf_ files/练习文档.pdf"
  3. writer = PdfWriter()
  4. for page in reader.pages:
  5. page.mediabox.lowerLeft = (100,100)
  6. page.mediabox.lowerRight = (500,100)
  7. page.mediabox.upperRight = (500,600)
  8. page.mediabox.upperLeft = (100,600)
  9. writer.addPage(page)
  10. with open("./pdf_ files/test.pdf","wb") as f:
  11. writer.write(f)