Return a list with image meta information.
(self, hashes=0)
| 16485 | return self._extractText(1) |
| 16486 | |
| 16487 | def extractIMGINFO(self, hashes=0): |
| 16488 | """Return a list with image meta information.""" |
| 16489 | block_n = -1 |
| 16490 | this_tpage = self.this |
| 16491 | rc = [] |
| 16492 | for block in this_tpage: |
| 16493 | block_n += 1 |
| 16494 | if block.m_internal.type == mupdf.FZ_STEXT_BLOCK_TEXT: |
| 16495 | continue |
| 16496 | img = block.i_image() |
| 16497 | img_size = 0 |
| 16498 | mask = img.mask() |
| 16499 | if mask.m_internal: |
| 16500 | has_mask = True |
| 16501 | else: |
| 16502 | has_mask = False |
| 16503 | compr_buff = mupdf.fz_compressed_image_buffer(img) |
| 16504 | if compr_buff.m_internal: |
| 16505 | img_size = compr_buff.fz_compressed_buffer_size() |
| 16506 | compr_buff = None |
| 16507 | if hashes: |
| 16508 | r = mupdf.FzIrect(FZ_MIN_INF_RECT, FZ_MIN_INF_RECT, FZ_MAX_INF_RECT, FZ_MAX_INF_RECT) |
| 16509 | assert mupdf.fz_is_infinite_irect(r) |
| 16510 | m = mupdf.FzMatrix(img.w(), 0, 0, img.h(), 0, 0) |
| 16511 | pix, w, h = mupdf.fz_get_pixmap_from_image(img, r, m) |
| 16512 | digest = mupdf.fz_md5_pixmap2(pix) |
| 16513 | digest = bytes(digest) |
| 16514 | if img_size == 0: |
| 16515 | img_size = img.w() * img.h() * img.n() |
| 16516 | cs = mupdf.FzColorspace(mupdf.ll_fz_keep_colorspace(img.m_internal.colorspace)) |
| 16517 | block_dict = dict() |
| 16518 | block_dict[dictkey_number] = block_n |
| 16519 | block_dict[dictkey_bbox] = JM_py_from_rect(block.m_internal.bbox) |
| 16520 | block_dict[dictkey_matrix] = JM_py_from_matrix(block.i_transform()) |
| 16521 | block_dict[dictkey_width] = img.w() |
| 16522 | block_dict[dictkey_height] = img.h() |
| 16523 | block_dict[dictkey_colorspace] = mupdf.fz_colorspace_n(cs) |
| 16524 | block_dict[dictkey_cs_name] = mupdf.fz_colorspace_name(cs) |
| 16525 | block_dict[dictkey_xres] = img.xres() |
| 16526 | block_dict[dictkey_yres] = img.yres() |
| 16527 | block_dict[dictkey_bpc] = img.bpc() |
| 16528 | block_dict[dictkey_size] = img_size |
| 16529 | if hashes: |
| 16530 | block_dict["digest"] = digest |
| 16531 | block_dict["has-mask"] = has_mask |
| 16532 | rc.append(block_dict) |
| 16533 | return rc |
| 16534 | |
| 16535 | def extractJSON(self, cb=None, sort=False) -> str: |
| 16536 | """Return 'extractDICT' converted to JSON format.""" |
no test coverage detected