CoolFace
Modelpublic

dougvk/Unlimited-OCR-RDNA4

sourceHugging Facemitupdated 2mo agoView on Hugging Face
0likes
test_pdf.py53 linesDownload Raw Back to tests
1import pytest2from PIL import Image3 4from unlimited_ocr_rdna4.errors import InferenceError5from unlimited_ocr_rdna4.pdf import PDFPageRenderer6 7 8def _make_pdf(path) -> None:9    image = Image.new("RGB", (120, 80), "white")10    try:11        image.save(path, format="PDF", resolution=72)12    finally:13        image.close()14 15 16def test_pdf_renders_one_page_at_a_time(tmp_path) -> None:17    pdf = tmp_path / "fixture.pdf"18    _make_pdf(pdf)19    with PDFPageRenderer(20        pdf,21        tmp_path,22        dpi=72,23        start_page=1,24        max_pages=1,25        max_page_pixels=20_000,26        max_total_pixels=20_000,27        max_page_rendered_bytes=1_000_000,28        max_rendered_bytes=1_000_000,29    ) as renderer:30        assert tuple(renderer.page_numbers) == (1,)31        rendered = renderer.render(1)32        assert rendered.is_file()33 34 35def test_pdf_rejects_page_over_pixel_limit(tmp_path) -> None:36    pdf = tmp_path / "fixture.pdf"37    _make_pdf(pdf)38    with (39        PDFPageRenderer(40            pdf,41            tmp_path,42            dpi=72,43            start_page=1,44            max_pages=1,45            max_page_pixels=1_000,46            max_total_pixels=20_000,47            max_page_rendered_bytes=1_000_000,48            max_rendered_bytes=1_000_000,49        ) as renderer,50        pytest.raises(InferenceError, match="would render"),51    ):52        renderer.render(1)53