(self)
| 3856 | return wlist |
| 3857 | |
| 3858 | def _get_page_labels(self): |
| 3859 | pdf = _as_pdf_document(self) |
| 3860 | rc = [] |
| 3861 | pagelabels = mupdf.pdf_new_name("PageLabels") |
| 3862 | obj = mupdf.pdf_dict_getl( mupdf.pdf_trailer(pdf), PDF_NAME('Root'), pagelabels) |
| 3863 | if not obj.m_internal: |
| 3864 | return rc |
| 3865 | # simple case: direct /Nums object |
| 3866 | nums = mupdf.pdf_resolve_indirect( mupdf.pdf_dict_get( obj, PDF_NAME('Nums'))) |
| 3867 | if nums.m_internal: |
| 3868 | JM_get_page_labels(rc, nums) |
| 3869 | return rc |
| 3870 | # case: /Kids/Nums |
| 3871 | nums = mupdf.pdf_resolve_indirect( mupdf.pdf_dict_getl(obj, PDF_NAME('Kids'), PDF_NAME('Nums'))) |
| 3872 | if nums.m_internal: |
| 3873 | JM_get_page_labels(rc, nums) |
| 3874 | return rc |
| 3875 | # case: /Kids is an array of multiple /Nums |
| 3876 | kids = mupdf.pdf_resolve_indirect( mupdf.pdf_dict_get( obj, PDF_NAME('Kids'))) |
| 3877 | if not kids.m_internal or not mupdf.pdf_is_array(kids): |
| 3878 | return rc |
| 3879 | n = mupdf.pdf_array_len(kids) |
| 3880 | for i in range(n): |
| 3881 | nums = mupdf.pdf_resolve_indirect( |
| 3882 | mupdf.pdf_dict_get( |
| 3883 | mupdf.pdf_array_get(kids, i), |
| 3884 | PDF_NAME('Nums'), |
| 3885 | ) |
| 3886 | ) |
| 3887 | JM_get_page_labels(rc, nums) |
| 3888 | return rc |
| 3889 | |
| 3890 | def _getMetadata(self, key): |
| 3891 | """Get metadata.""" |
no test coverage detected