diff --git a/src/__init__.py b/src/__init__.py index 4fae080dc..0abe48c54 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -26742,7 +26742,24 @@ def deprecated_function( *args, **kwargs): f'Python {sys.version_info[0]}.{sys.version_info[1]} running on {sys.platform} ({64 if sys.maxsize > 2**32 else 32}-bit).\n' ) + +def _to_markdown(*args, **kwargs): + return pymupdf4llm.to_markdown(*args, **kwargs) +def _to_text(*args, **kwargs): + return pymupdf4llm.to_text(*args, **kwargs) +def _to_json(*args, **kwargs): + return pymupdf4llm.to_json(*args, **kwargs) +def _to_chunks(*args, **kwargs): + return pymupdf4llm.to_chunks(*args, **kwargs) +def _convert_batch(*args, **kwargs): + return pymupdf4llm.convert_batch(*args, **kwargs) + try: import pymupdf4llm # noqa: F401 -except ImportError: + Document.to_markdown = _to_markdown # noqa: F401 + Document.to_text = _to_text # noqa: F401 + Document.to_json = _to_json # noqa: F401 + Document.to_chunks = _to_chunks # noqa: F401 + convert_batch = _convert_batch # noqa: F401 +except (ImportError, ModuleNotFoundError): pass diff --git a/tests/test_configurations.py b/tests/test_configurations.py new file mode 100644 index 000000000..df3ff4d2e --- /dev/null +++ b/tests/test_configurations.py @@ -0,0 +1,30 @@ +import pymupdf +import pathlib +import util + + +def test_configuration_layout(): + if not util._use_layout() : + print("not testing: layout feature not available") + return + + doc = pymupdf.open() + page = doc.new_page() + page.insert_text((72, 72), "Hallo Welt!\nSeid umschlungen, Millionen!") + + out1 = doc.to_markdown() + out2 = pymupdf.pymupdf4llm.to_markdown(doc) + assert out1 == out2 + + out1 = doc.to_text() + out2 = pymupdf.pymupdf4llm.to_text(doc) + assert out1 == out2 + + out1 = doc.to_chunks() + out2 = pymupdf.pymupdf4llm.to_chunks(doc) + assert repr(out1) == repr(out2), f"{out1=} != {out2=}" + + out1 = doc.to_json() + out2 = pymupdf.pymupdf4llm.to_json(doc) + assert out1 == out2 +