Mercurial > hgrepos > Python2 > PyMuPDF
diff tests/test_linequad.py @ 1:1d09e1dec1d9 upstream
ADD: PyMuPDF v1.26.4: the original sdist.
It does not yet contain MuPDF. This normally will be downloaded when
building PyMuPDF.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:37:51 +0200 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test_linequad.py Mon Sep 15 11:37:51 2025 +0200 @@ -0,0 +1,30 @@ +""" +Check approx. equality of search quads versus quads recovered from +text extractions. +""" +import os + +import pymupdf + +scriptdir = os.path.abspath(os.path.dirname(__file__)) +filename = os.path.join(scriptdir, "resources", "quad-calc-0.pdf") + + +def test_quadcalc(): + text = " angle 327" # search for this text + doc = pymupdf.open(filename) + page = doc[0] + # This special page has one block with one line, and + # its last span contains the searched text. + block = page.get_text("dict", flags=0)["blocks"][0] + line = block["lines"][0] + # compute quad of last span in line + lineq = pymupdf.recover_line_quad(line, spans=line["spans"][-1:]) + + # let text search find the text returning quad coordinates + rl = page.search_for(text, quads=True) + searchq = rl[0] + assert abs(searchq.ul - lineq.ul) <= 1e-4 + assert abs(searchq.ur - lineq.ur) <= 1e-4 + assert abs(searchq.ll - lineq.ll) <= 1e-4 + assert abs(searchq.lr - lineq.lr) <= 1e-4
