| 9483 | |
| 9484 | |
| 9485 | class Page: |
| 9486 | |
| 9487 | def __init__(self, page, document): |
| 9488 | assert isinstance(page, (mupdf.FzPage, mupdf.PdfPage)), f'page is: {page}' |
| 9489 | self.this = page |
| 9490 | self.thisown = True |
| 9491 | self.last_point = None |
| 9492 | self.draw_cont = '' |
| 9493 | self._annot_refs = dict() |
| 9494 | self.parent = document |
| 9495 | if page.m_internal: |
| 9496 | if isinstance( page, mupdf.PdfPage): |
| 9497 | self.number = page.m_internal.super.number |
| 9498 | else: |
| 9499 | self.number = page.m_internal.number |
| 9500 | else: |
| 9501 | self.number = None |
| 9502 | |
| 9503 | def __repr__(self): |
| 9504 | return self.__str__() |
| 9505 | |
| 9506 | def __str__(self): |
| 9507 | #CheckParent(self) |
| 9508 | parent = getattr(self, 'parent', None) |
| 9509 | if isinstance(self.this.m_internal, mupdf.pdf_page): |
| 9510 | number = self.this.m_internal.super.number |
| 9511 | else: |
| 9512 | number = self.this.m_internal.number |
| 9513 | |
| 9514 | if parent: |
| 9515 | x = self.parent.name |
| 9516 | if self.parent.stream is not None: |
| 9517 | x = "memory" |
| 9518 | if x == "": |
| 9519 | x = "new PDF" |
| 9520 | ret = f'page {number} of <{x}, doc# {self.parent._graft_id:d}>' |
| 9521 | else: |
| 9522 | ret = f'page {number}' |
| 9523 | return ret |
| 9524 | |
| 9525 | def _add_caret_annot(self, point): |
| 9526 | if g_use_extra: |
| 9527 | annot = extra._add_caret_annot( self.this, JM_point_from_py(point)) |
| 9528 | else: |
| 9529 | page = self._pdf_page() |
| 9530 | annot = mupdf.pdf_create_annot(page, mupdf.PDF_ANNOT_CARET) |
| 9531 | if point: |
| 9532 | p = JM_point_from_py(point) |
| 9533 | r = mupdf.pdf_annot_rect(annot) |
| 9534 | r = mupdf.FzRect(p.x, p.y, p.x + r.x1 - r.x0, p.y + r.y1 - r.y0) |
| 9535 | mupdf.pdf_set_annot_rect(annot, r) |
| 9536 | mupdf.pdf_update_annot(annot) |
| 9537 | JM_add_annot_id(annot, "A") |
| 9538 | return annot |
| 9539 | |
| 9540 | def _add_file_annot(self, point, buffer_, filename, ufilename=None, desc=None, icon=None): |
| 9541 | page = self._pdf_page() |
| 9542 | uf = ufilename if ufilename else filename |
no outgoing calls
no test coverage detected
searching dependent graphs…