MCPcopy Create free account
hub / github.com/pymupdf/PyMuPDF / _as_pdf_document

Function _as_pdf_document

src/__init__.py:504–525  ·  view source on GitHub ↗

Returns `document` downcast to a mupdf.PdfDocument. If downcast fails (i.e. `document` is not actually a `PdfDocument`) then we assert-fail if `required` is true (the default) else return a `mupdf.PdfDocument` with `.m_internal` false.

(document, required=True)

Source from the content-addressed store, hash-verified

502 assert 0, f'Unrecognised {type(document)=}'
503
504def _as_pdf_document(document, required=True):
505 '''
506 Returns `document` downcast to a mupdf.PdfDocument. If downcast fails (i.e.
507 `document` is not actually a `PdfDocument`) then we assert-fail if `required`
508 is true (the default) else return a `mupdf.PdfDocument` with `.m_internal`
509 false.
510 '''
511 if isinstance(document, Document):
512 if document.is_closed:
513 raise ValueError('document closed')
514 document = document.this
515 if isinstance(document, mupdf.PdfDocument):
516 return document
517 elif isinstance(document, mupdf.FzDocument):
518 ret = mupdf.PdfDocument(document)
519 if required:
520 assert ret.m_internal
521 return ret
522 elif document is None:
523 assert 0, f'document is None'
524 else:
525 assert 0, f'Unrecognised {type(document)=}'
526
527def _as_fz_page(page):
528 '''

Callers 15

_addFormFontMethod · 0.85
_delToCMethod · 0.85
_delete_pageMethod · 0.85
_deleteObjectMethod · 0.85
_embeddedFileGetMethod · 0.85
_embfile_addMethod · 0.85
_embfile_delMethod · 0.85
_embfile_infoMethod · 0.85
_embfile_namesMethod · 0.85
_embfile_updMethod · 0.85
_extend_toc_itemsMethod · 0.85
_get_char_widthsMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…