docs: def _get_page_data(self, pno, zoom=0):
          """
          Return a PNG image for a document page number. If zoom is other than 0, one of
          the 4 page quadrants are zoomed-in instead and the corresponding clip returned.
          """
          dlist = self.dlist_tab[pno]  # get display list
          if not dlist:  # create if not yet there
              self.dlist_tab[pno] = self.doc[pno].getDisplayList()
              dlist = self.dlist_tab[pno]
          r = dlist.rect  # page rectangle
          mp = r.tl + (r.br - r.tl) * 0.5  # rect middle point
          mt = r.tl + (r.tr - r.tl) * 0.5  # middle of top edge
          ml = r.tl + (r.bl - r.tl) * 0.5  # middle of left edge
          mr = r.tr + (r.br - r.tr) * 0.5  # middle of right egde
          mb = r.bl + (r.br - r.bl) * 0.5  # middle of bottom edge
          mat = fitz.Matrix(2, 2)  # zoom matrix
          if zoom == 1:  # top-left quadrant
              clip = fitz.Rect(r.tl, mp)
          elif zoom == 4:  # bot-right quadrant
              clip = fitz.Rect(mp, r.br)
          elif zoom == 2:  # top-right
              clip = fitz.Rect(mt, mr)
          elif zoom == 3:  # bot-left
              clip = fitz.Rect(ml, mb)
          if zoom == 0:  # total page
              pix = dlist.getPixmap(alpha=False)
          else:
              pix = dlist.getPixmap(alpha=False, matrix=mat, clip=clip)
          return pix.getPNGData()