docvortex 0.4.1__tar.gz → 0.4.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- docvortex-0.4.2/PKG-INFO +218 -0
- docvortex-0.4.2/README.md +165 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/docs/JSON_PROTOCOL.md +42 -0
- docvortex-0.4.2/docs/USAGE.md +326 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/pipeline.py +1 -1
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/api.py +21 -2
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/cli.py +9 -2
- docvortex-0.4.2/src/docvortex/document/pdf/layout.py +139 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/public_api.py +9 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/__init__.py +2 -0
- docvortex-0.4.2/src/docvortex/render/_internal/pdf/diagnostics.py +35 -0
- docvortex-0.4.2/src/docvortex/render/_internal/pdf/font_plan.py +152 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/pdf/inline.py +19 -10
- docvortex-0.4.2/src/docvortex/render/_internal/pdf/original.py +431 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/pdf/renderer.py +34 -7
- docvortex-0.4.2/src/docvortex/render/_internal/pdf/title_layout.py +176 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/api.py +1 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/contracts.py +12 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/pdf.py +3 -1
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/version.py +1 -1
- docvortex-0.4.2/src/docvortex.egg-info/PKG-INFO +218 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex.egg-info/SOURCES.txt +11 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_flash_pdf_test_utils.py +23 -0
- docvortex-0.4.2/tests/unittest/test_flash_pdf_equation_images.py +47 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_samples.py +3 -2
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_scripts.py +3 -2
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_semantics.py +4 -3
- docvortex-0.4.2/tests/unittest/test_pdf_cjk_wrapping.py +113 -0
- docvortex-0.4.2/tests/unittest/test_pdf_original_layout.py +496 -0
- docvortex-0.4.2/tests/unittest/test_pdf_title_font_plan.py +147 -0
- docvortex-0.4.2/tests/unittest/test_pdf_title_space.py +325 -0
- docvortex-0.4.1/PKG-INFO +0 -225
- docvortex-0.4.1/README.md +0 -172
- docvortex-0.4.1/src/docvortex.egg-info/PKG-INFO +0 -225
- {docvortex-0.4.1 → docvortex-0.4.2}/LICENSE.md +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/MANIFEST.in +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/README.md +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/demo.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/office_docs/README.md +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/office_docs/docx_01.doc +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/office_docs/docx_01.docx +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/office_docs/pptx_01.ppt +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/office_docs/pptx_01.pptx +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/office_docs/rtf_01.rtf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/office_docs/xlsx_01.xls +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/office_docs/xlsx_01.xlsx +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs/2407.00079v4_origi-10.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs/IEBM_A_2667169_O-5.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs/caibao1.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs/demo1.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs/demo2.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs/demo3.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs/demo4.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs/demo6.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs/mixed_elements_pages_03_06.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs/mixed_elements_pages_07_10.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs/mixed_elements_pages_11_15.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs/mixed_elements_pages_39_40.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs/small_ocr.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs//344/270/255/346/226/207/350/256/272/346/226/207.pdf" +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs//344/270/255/346/226/207/350/256/272/346/226/2072.pdf" +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs//344/270/255/346/226/207/350/256/272/346/226/2073.pdf" +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/demo/pdfs//344/270/255/346/226/207/350/256/272/346/226/2074.pdf" +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/docs/HTML_PROTOCOL.md +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/docs/METADATA.md +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/docs/PDF_FONTS.md +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/docs/RENDER_OWNERSHIP.md +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/docs/sdk-0.4.md +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/pyproject.toml +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/schemas/middle-2.0.json +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/schemas/model-2.0.json +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/setup.cfg +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/_shared/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/_shared/hyperlink.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/_shared/image.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/_shared/markup/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/_shared/markup/anchors.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/_shared/markup/formula.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/_shared/markup/projector.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/_shared/markup/styles.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/_shared/mathml.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/_shared/names.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/_shared/xycut.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/contracts.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/csv.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/epub/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/epub/constants.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/epub/converter.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/epub/errors.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/epub/metadata.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/epub/package.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/epub/properties.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/epub/xhtml.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/html/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/html/anchors.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/html/constants.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/html/converter.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/html/document.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/html/errors.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/html/metadata.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/html/resources.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/html/selector.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/models.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/assembly.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/constants.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/converter.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/errors.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/geometry.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/images.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/metadata.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/models.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/package.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/path.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/reading_order.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/resources.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/scene.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/table.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/text.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/ofd/vector.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/doc/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/doc/bookmarks.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/doc/doc_converter.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/doc/fib.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/doc/fields.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/doc/formatting.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/doc/images.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/doc/lists.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/doc/models.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/doc/parser.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/doc/pieces.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/doc/records.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/doc/sprm.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/doc/styles.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/docx/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/docx/context.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/docx/docx_converter.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/docx/equationxml.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/docx/fields.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/docx/formatting_types.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/docx/main.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/docx/numbering.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/docx/office_xml.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/docx/package_normalizer.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/docx/resources.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/docx/styles.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/docx/tables.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/equation/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/equation/image.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/equation/latex_dict.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/equation/mtef.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/equation/mtef_v5.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/equation/omml.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/equation/ooxml.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/errors.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/image.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/legacy/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/legacy/binary.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/legacy/officeart.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/legacy/ole.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/limits.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/metadata.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/odf/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/odf/chart.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/odf/constants.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/odf/converters.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/odf/errors.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/odf/metadata.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/odf/models.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/odf/package.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/odf/styles.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/odf/table.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/odf/text.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/ooxml_chart.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/opc.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/ppt/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/ppt/models.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/ppt/parser.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/ppt/ppt_converter.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/ppt/records.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/ppt/style_text.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/pptx/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/pptx/context.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/pptx/lists.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/pptx/main.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/pptx/package_normalizer.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/pptx/pptx_converter.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/pptx/resources.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/pptx/shapes.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/pptx/text_styles.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/pptx/titles.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/rich_text.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/rtf/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/rtf/converter.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/rtf/lexer.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/rtf/math.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/rtf/metadata.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/rtf/models.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/rtf/parser.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/spreadsheet/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/spreadsheet/html.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/spreadsheet/models.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/spreadsheet/projector.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/streams.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/xls/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/xls/chart.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/xls/embedded_chart.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/xls/models.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/xls/number_format.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/xls/parser.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/xls/records.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/xls/strings.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/xls/xls_converter.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/xlsx/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/xlsx/main.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/xlsx/ooxml_ole.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/xlsx/package_normalizer.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/office/xlsx/xlsx_converter.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/_script_geometry.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/_table_recovery/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/_table_recovery/candidate.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/_table_recovery/contracts.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/_table_recovery/engine.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/_table_recovery/geometry.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/_table_recovery/sparse_common.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/_table_recovery/sparse_hybrid.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/_table_recovery/sparse_multiline.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/_table_recovery/text.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/_table_recovery/text_grid.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/_table_recovery/vector.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/auxiliary_text.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/char_geometry.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/code_blocks.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/formulas.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/geometry.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/graphics.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/index_blocks.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/inline/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/inline/common.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/inline/detection.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/inline/matching.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/inline/materialize.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/inline/scripts.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/inline/types.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/line_layout.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/line_merging.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/models.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/native_text.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/spatial_text.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/table_annotations.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/table_constants.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/table_detection.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/table_filled_grid.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/table_geometry.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/table_materialization.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/table_rows.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/table_rules.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/table_text_styles.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/tables.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/text_assembly/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/text_assembly/annotations.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/text_assembly/assembly.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/text_assembly/common.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/text_assembly/footnotes.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/text_assembly/merging.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/text_assembly/rows.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/text_blocks.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/title_analysis/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/title_analysis/body_profile.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/title_analysis/common.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/title_analysis/document_profile.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/title_analysis/lane_titles.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/title_analysis/page_titles.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/title_analysis/prototype.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/title_analysis/structural.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/titles.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/typography.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/native/pdf/visual_annotations.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/analyzers/pdf.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/assets/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/assets/images.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/assets/store.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/codecs/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/codecs/html/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/codecs/html/contracts.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/codecs/html/materializer.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/codecs/html/parser.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/codecs/html/resources.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/codecs/json.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/inline.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/links.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/markup/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/markup/anchors.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/markup/formula.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/markup/projector.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/markup/styles.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/mathml.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/normalization.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/spans.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/table/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/table/blocks.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/table/content.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/table/document.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/table/html.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/table/models.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/table/rules.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/table/structure.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/text.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/content/tree.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/contracts.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/detection.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/filetypes.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/page_range.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/_document.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/classify.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/constants.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/font_runtime.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/images.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/metadata.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/native_annotations.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/native_contracts.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/native_coordinates.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/native_lifecycle.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/native_objects.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/native_text_geometry.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/pdfium.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/raster.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/text/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/text/_contracts.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/text/extract.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/text/geometry.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/text/groups.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/pdf/visuals.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/properties.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/document/source.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/errors.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/export/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/export/bundle.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/export/files.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/export/middle.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/foundation/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/foundation/_coordinates.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/foundation/_geometry.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/foundation/_hyperlink.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/foundation/_image.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/foundation/_image_operations.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/foundation/_image_payload.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/foundation/_text.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/foundation/image_encoding.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/foundation/language.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/foundation/type_identity.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/foundation/xml_names.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/geometry.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/metadata.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/options.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/postprocess/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/postprocess/content.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/postprocess/document.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/postprocess/lists.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/postprocess/page_blocks.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/postprocess/pages.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/postprocess/paragraphs.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/postprocess/visual.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/common/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/common/context.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/common/html_table.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/common/index.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/common/list_items.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/common/planner.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/docx/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/docx/assets.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/docx/inline.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/docx/math.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/docx/renderer.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/docx/styles.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/docx/table.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/epub/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/epub/assets.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/epub/package.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/epub/renderer.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/html/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/html/inline.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/html/renderer.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/html/sanitizer.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/html/table.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/latex/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/latex/assets.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/latex/inline.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/latex/renderer.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/latex/table.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/markdown/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/markdown/assets.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/markdown/blocks.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/markdown/escaping.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/markdown/inline.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/markdown/renderer.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/markdown/table.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/pdf/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/pdf/assets.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/pdf/formula.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/pdf/pagination.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/pdf/styles.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/pdf/table.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/structured_content/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/_internal/structured_content/renderer.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/docx.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/epub.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/fragments.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/html.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/latex.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/markdown.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/render/structured_content.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/resources/epub/docvortex.css +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/resources/fasttext-langdetect/lid.176.ftz +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/resources/fonts/DroidSansFallbackFull.ttf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/resources/fonts/NOTICE +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/resources/fonts/manifest.json +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/resources/html/docvortex.css +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/resources/html/docvortex.min.css +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/result.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/schema.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex/visualization.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex.egg-info/dependency_links.txt +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex.egg-info/entry_points.txt +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex.egg-info/requires.txt +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/src/docvortex.egg-info/top_level.txt +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/benchmarks/flash_pdf.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/benchmarks/pipeline.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/fixtures/evaluate_native_pdf_table_manifest.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/fixtures/flash_layout_block_expectations.json +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/fixtures/flash_layout_geometry_manifest.json +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/fixtures/flash_layout_semantic_expectations.json +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/fixtures/generate_synthetic_pdf_fixtures.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/fixtures/native_pdf_table_cross_page_manifest.json +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/fixtures/native_pdf_table_demo_manifest.json +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/fixtures/native_pdf_table_script_truth.json +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/fixtures/pdf_mixed_font_script_line.json +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/fixtures/rtf/semantic.rtf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_architecture.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_benchmark_entrypoint.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_brand_protocol.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_complete_pipeline.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_converter_lifecycle.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_document_envelope.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_document_metadata.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_format_matrix.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_geometry_api.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_html_namespace.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_mixed_font_script_reference.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_pdf_analysis_api.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_pdf_font_geometry.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_pdf_font_runtime.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_pdf_model_text_normalization.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_pdf_output_text.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_pdf_render_pool.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_pdf_source_row_merging.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_pdf_symbol_normalization.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_public_image_api.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_public_pipeline.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_refactor_raster.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_refactor_rendering.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_refactor_resources.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_render_ownership.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_renderer_branding.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_shared_boundaries.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_system_font_pdf_pipeline.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/test_validated_geometry.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_docx_equationxml_test_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_epub_test_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_image_mtef_test_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_legacy_doc_test_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_legacy_ppt_test_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_legacy_xls_test_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_metafile_test_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_mtef_test_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_mtef_v5_test_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_native_test_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_odf_test_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_ofd_test_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_office_image_mtef_test_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_ooxml_mtef_test_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/_span_test_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/flash_layout/mixed_text_layout_sample.pdf.xor +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/flash_table_annotations_synthetic.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/metabolic_pathway_page_3.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/native_cjk_layout_synthetic.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/native_pdf_tables/annual_report_fundraising_projects_table.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/native_pdf_tables/annual_report_management_roles_table.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/native_pdf_tables/annual_report_research_projects_table.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/native_pdf_tables/conference_schedule_tables.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/native_pdf_tables/engineering_process_restrictions_table.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/native_pdf_tables/fund_asset_and_transaction_tables.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/native_pdf_tables/fund_manager_profile_table.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/native_pdf_tables/manufacturing_facilities_cross_page_table.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/native_pdf_tables/pollutant_discharge_tables.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/native_pdf_tables/procurement_contract_tables.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/native_pdf_tables/procurement_document_blank_page_tables.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/native_pdf_tables/quarterly_report_financial_tables.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/pdfs/test.pdf +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_backend_architecture.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_backend_block_object_regressions.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_docx_assets.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_docx_complex_fields.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_docx_math.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_docx_render.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_docx_special_char_tables.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_docx_table.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_emfplus_integration.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_epub_backlinks.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_epub_quoted_note_types.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_epub_render.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_csv.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_docx_equationxml.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_epub.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_html.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_image_mtef.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_legacy_chart_data.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_legacy_doc.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_legacy_doc_mtef.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_legacy_ppt.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_legacy_xls.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_legacy_xls_ppt_mtef.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_markup_anchors.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_model.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_mtef_v5.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_odf.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_ofd.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_office_image_mtef.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_office_metafile.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_office_models.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_office_mtef_v5.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_office_package_normalizers.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_office_title_types.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_ooxml_mtef.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_auxiliary_text.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_char_geometry.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_code_blocks.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_document_profile.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_extractor.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_formulas.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_graphics.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_index_blocks.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_line_metadata.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_native_text.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_pipeline.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_tables.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_text_blocks.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_titles.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_pdf_visual_annotations.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_rtf.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_shared_helpers.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_flash_spreadsheet_projector.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_guess_suffix_ole2.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_html_css_build.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_html_render.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_html_security.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_hybrid_script_source_pdfs.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_latex_render.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_markdown_render.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_middle_json_block_models.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_middle_json_export.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_middle_json_validator.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_model_json.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_native_pdf_table.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_native_pdf_table_demo_manifest.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_native_pdf_table_manifest.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_native_pdf_table_pipeline.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_native_pdf_table_scripts.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_ofd_assembly.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_ofd_vector_tables.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_office_demo_exports.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_office_demo_pages.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_office_parser_regressions.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_pdf_classify.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_pdf_demo_links.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_pdf_document.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_pdf_pagination.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_pdf_render.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_pdf_render_diagnostics.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_pdf_text_styles.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_pdf_visualization.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_postprocess_page_blocks.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_postprocess_pages.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_postprocess_paragraphs.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_postprocess_visual.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_render_api.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_render_html_table.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_render_image_renderer.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_render_list_index_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_structured_content_render.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_table_merge.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_table_merge_cell_merge.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_text_block_anchor.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_text_boundary_rules.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tests/unittest/test_text_utils.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tools/__init__.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tools/build_html_css.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tools/calibrate_pdf_geometry.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tools/capture_baseline.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tools/capture_platform_layout.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tools/compare_font_platforms.py +0 -0
- {docvortex-0.4.1 → docvortex-0.4.2}/tools/font_geometry.py +0 -0
docvortex-0.4.2/PKG-INFO
ADDED
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: docvortex
|
|
3
|
+
Version: 0.4.2
|
|
4
|
+
Summary: A fast, multi-format document parsing and conversion engine
|
|
5
|
+
License-Expression: MIT
|
|
6
|
+
Project-URL: Repository, https://github.com/myhloli/DocVortex
|
|
7
|
+
Project-URL: Issues, https://github.com/myhloli/DocVortex/issues
|
|
8
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
14
|
+
Requires-Python: <3.15,>=3.10
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
License-File: LICENSE.md
|
|
17
|
+
Requires-Dist: click>=8.1.7
|
|
18
|
+
Requires-Dist: loguru>=0.7.2
|
|
19
|
+
Requires-Dist: numpy>=1.21.6
|
|
20
|
+
Requires-Dist: pillow>=11.0.0
|
|
21
|
+
Requires-Dist: pypdfium2<6,>=5.10.1
|
|
22
|
+
Requires-Dist: pypdf>=5.6.0
|
|
23
|
+
Requires-Dist: pydantic<3,>=2.12.5
|
|
24
|
+
Requires-Dist: metafile-render<1.0.0,>=0.3.0
|
|
25
|
+
Requires-Dist: ftfy<7,>=6.3.1
|
|
26
|
+
Requires-Dist: fonttools<5,>=4
|
|
27
|
+
Requires-Dist: beautifulsoup4<5,>=4.13.5
|
|
28
|
+
Requires-Dist: lxml<7,>=4
|
|
29
|
+
Requires-Dist: nh3<0.4,>=0.3.6
|
|
30
|
+
Requires-Dist: python-docx<2,>=1.2.0
|
|
31
|
+
Requires-Dist: pypptx-with-oxml<2,>=1.0.3
|
|
32
|
+
Requires-Dist: mammoth<2,>=1.11.0
|
|
33
|
+
Requires-Dist: openpyxl<4,>=3.1.5
|
|
34
|
+
Requires-Dist: olefile<1,>=0.47
|
|
35
|
+
Requires-Dist: pylatexenc<3,>=2.10
|
|
36
|
+
Requires-Dist: latex2mathml<4,>=3.81.0
|
|
37
|
+
Requires-Dist: mathml2omml==0.0.2
|
|
38
|
+
Requires-Dist: resvg_py<0.6,>=0.5.0
|
|
39
|
+
Requires-Dist: reportlab
|
|
40
|
+
Requires-Dist: ziamath<0.14,>=0.13
|
|
41
|
+
Requires-Dist: magika<1.1.0,>=0.6.2
|
|
42
|
+
Requires-Dist: opencv-python>=4.11.0.86
|
|
43
|
+
Provides-Extra: test
|
|
44
|
+
Requires-Dist: pytest; extra == "test"
|
|
45
|
+
Requires-Dist: pytest-cov; extra == "test"
|
|
46
|
+
Requires-Dist: markdown; extra == "test"
|
|
47
|
+
Requires-Dist: jsonschema<5,>=4; extra == "test"
|
|
48
|
+
Provides-Extra: dev
|
|
49
|
+
Requires-Dist: ruff==0.14.2; extra == "dev"
|
|
50
|
+
Requires-Dist: build; extra == "dev"
|
|
51
|
+
Requires-Dist: twine; extra == "dev"
|
|
52
|
+
Dynamic: license-file
|
|
53
|
+
|
|
54
|
+
<div align="center">
|
|
55
|
+
|
|
56
|
+
<img src="https://raw.githubusercontent.com/myhloli/DocVortex/main/docs/images/docvortex-logo.jpg" alt="DocVortex logo" width="200">
|
|
57
|
+
|
|
58
|
+
# DocVortex
|
|
59
|
+
|
|
60
|
+
**Native document parsing. One structure, many outputs.**
|
|
61
|
+
|
|
62
|
+
[](https://pypi.org/project/docvortex/)
|
|
63
|
+
[](https://pypi.org/project/docvortex/)
|
|
64
|
+
[](https://github.com/myhloli/DocVortex/actions/workflows/ci.yml)
|
|
65
|
+
[](https://github.com/myhloli/DocVortex/blob/main/LICENSE.md)
|
|
66
|
+
|
|
67
|
+
**English** · [简体中文](https://github.com/myhloli/DocVortex/blob/main/README_zh-CN.md)
|
|
68
|
+
|
|
69
|
+
[Quick start](#quick-start) · [Formats](#supported-formats) · [Documentation](#documentation)
|
|
70
|
+
|
|
71
|
+
</div>
|
|
72
|
+
|
|
73
|
+
## Documents in. Possibilities out.
|
|
74
|
+
|
|
75
|
+
DocVortex is a standalone Python engine for parsing and converting documents.
|
|
76
|
+
It reads native text and document structure into a unified representation,
|
|
77
|
+
then exports the result in the formats your workflow needs.
|
|
78
|
+
|
|
79
|
+
- **Multi-format input** — read text PDFs, Office files, OpenDocument files, EPUB, HTML, OFD and CSV.
|
|
80
|
+
- **Parse once, export many times** — reuse the same result for Markdown, HTML, LaTeX, DOCX, EPUB, PDF and structured JSON.
|
|
81
|
+
- **Portable results** — save document structure and image assets in a Bundle, then export again without the source file.
|
|
82
|
+
- **Composable APIs** — use the complete pipeline or integrate analysis, postprocessing and rendering separately.
|
|
83
|
+
|
|
84
|
+
Native parsing works without an OCR or VLM inference service. Use DocVortex
|
|
85
|
+
directly through its CLI or Python SDK, independently of MinerU.
|
|
86
|
+
|
|
87
|
+

|
|
88
|
+
|
|
89
|
+
## Quick start
|
|
90
|
+
|
|
91
|
+
Requires **Python 3.10–3.14**.
|
|
92
|
+
|
|
93
|
+
### Install
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
pip install docvortex
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Command line
|
|
100
|
+
|
|
101
|
+
Convert a text PDF to Markdown:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
docvortex convert report.pdf --format markdown --output output/report.md
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Replace `report.pdf` with a local file in any supported input format.
|
|
108
|
+
Use `--format` to choose the output; run `docvortex convert --help` for options.
|
|
109
|
+
|
|
110
|
+
### Python
|
|
111
|
+
|
|
112
|
+
Parse a document once and export it twice:
|
|
113
|
+
|
|
114
|
+
```python
|
|
115
|
+
import docvortex
|
|
116
|
+
|
|
117
|
+
result = docvortex.parse("report.pdf")
|
|
118
|
+
result.export("output/report.md", output_format="markdown")
|
|
119
|
+
result.export("output/report.docx", output_format="docx")
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
The result owns its document structure and assets, so further exports do not
|
|
123
|
+
reopen or reparse the source. Existing output files are protected by default;
|
|
124
|
+
use `overwrite=True` in Python or `--overwrite` in the CLI to replace them.
|
|
125
|
+
|
|
126
|
+
## Supported formats
|
|
127
|
+
|
|
128
|
+
### Native inputs · 15 formats
|
|
129
|
+
|
|
130
|
+
| Document family | Formats |
|
|
131
|
+
| --- | --- |
|
|
132
|
+
| PDF with native text | PDF |
|
|
133
|
+
| Word & rich text | DOC, DOCX, RTF |
|
|
134
|
+
| Presentations | PPT, PPTX |
|
|
135
|
+
| Spreadsheets | XLS, XLSX, CSV |
|
|
136
|
+
| OpenDocument | ODT, ODS, ODP |
|
|
137
|
+
| E-books & web documents | EPUB, HTML |
|
|
138
|
+
| Open Fixed-layout Document | OFD |
|
|
139
|
+
|
|
140
|
+
### Outputs · 7 formats
|
|
141
|
+
|
|
142
|
+
| Output | `--format` / `output_format` |
|
|
143
|
+
| --- | --- |
|
|
144
|
+
| Markdown | `markdown` |
|
|
145
|
+
| HTML | `html` |
|
|
146
|
+
| LaTeX | `latex` |
|
|
147
|
+
| Word document | `docx` |
|
|
148
|
+
| EPUB e-book | `epub` |
|
|
149
|
+
| PDF | `pdf` |
|
|
150
|
+
| Structured JSON | `structured_content` |
|
|
151
|
+
|
|
152
|
+
PPT/PPTX and XLS/XLSX are input formats only. Structured JSON is an export
|
|
153
|
+
format; the [document JSON protocol](https://github.com/myhloli/DocVortex/blob/main/docs/JSON_PROTOCOL.md)
|
|
154
|
+
separately defines the analysis and intermediate representations.
|
|
155
|
+
|
|
156
|
+
## Save now, export later
|
|
157
|
+
|
|
158
|
+
A Bundle packages the parsed document and its image assets for reuse across
|
|
159
|
+
processes or machines. Load it whenever you need another output format:
|
|
160
|
+
|
|
161
|
+
```python
|
|
162
|
+
import docvortex
|
|
163
|
+
|
|
164
|
+
result = docvortex.parse("report.pdf")
|
|
165
|
+
result.save_bundle("output/report.bundle")
|
|
166
|
+
|
|
167
|
+
restored = docvortex.load_bundle("output/report.bundle")
|
|
168
|
+
restored.export("output/report.epub", output_format="epub")
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
The restored result works without the original file. See the
|
|
172
|
+
[usage guide](https://github.com/myhloli/DocVortex/blob/main/docs/USAGE.md#portable-bundles)
|
|
173
|
+
for Bundle contents, asset handling and overwrite rules.
|
|
174
|
+
|
|
175
|
+
Need only the title, authors or other source properties?
|
|
176
|
+
[`docvortex.extract_metadata()`](https://github.com/myhloli/DocVortex/blob/main/docs/METADATA.md)
|
|
177
|
+
reads metadata without parsing the document body.
|
|
178
|
+
|
|
179
|
+
## Choose the right workflow
|
|
180
|
+
|
|
181
|
+
- **Text PDFs:** native parsing uses the document's existing text and structure. Scanned pages requiring OCR need an external OCR or inference service.
|
|
182
|
+
- **PDF classification:** `docvortex classify report.pdf` returns `txt` or `ocr`. Classification is explicit and does not start inference; parsing does not automatically switch backends.
|
|
183
|
+
- **PDF export:** PDF sources with page geometry default to block layout restoration, with selectable text and region images for tables/charts. Other sources and older results use semantic reflow. Use `--pdf-layout original|reflow` to select explicitly; fonts, line breaks and drawing instructions are not reproduced losslessly. See [PDF output layout](docs/USAGE.md#pdf-output-layout).
|
|
184
|
+
|
|
185
|
+
## Documentation
|
|
186
|
+
|
|
187
|
+
| Guide | What you will find |
|
|
188
|
+
| --- | --- |
|
|
189
|
+
| [Usage](https://github.com/myhloli/DocVortex/blob/main/docs/USAGE.md) | Stage APIs, PDF pages, classification, images and Bundles |
|
|
190
|
+
| [Agent skill](skills/docvortex/SKILL.md) | CLI and Python SDK workflows for agents; copy the entire `skills/docvortex` folder to reuse |
|
|
191
|
+
| [Examples](https://github.com/myhloli/DocVortex/blob/main/demo/README.md) | Local PDF and Office samples with a runnable demo |
|
|
192
|
+
| [Metadata](https://github.com/myhloli/DocVortex/blob/main/docs/METADATA.md) | Source properties and per-format coverage |
|
|
193
|
+
| [JSON protocol](https://github.com/myhloli/DocVortex/blob/main/docs/JSON_PROTOCOL.md) | Document schemas, extensions and protocol migration |
|
|
194
|
+
| [HTML protocol](https://github.com/myhloli/DocVortex/blob/main/docs/HTML_PROTOCOL.md) | Semantic markers and round trips |
|
|
195
|
+
| [Public SDK & migration](https://github.com/myhloli/DocVortex/blob/main/docs/sdk-0.4.md) | Supported integration boundaries and the 0.4 upgrade |
|
|
196
|
+
| [Rendering ownership](https://github.com/myhloli/DocVortex/blob/main/docs/RENDER_OWNERSHIP.md) | DocVortex exports and MinerU-specific renderers |
|
|
197
|
+
|
|
198
|
+
## Development
|
|
199
|
+
|
|
200
|
+
From a local checkout:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
uv venv
|
|
204
|
+
uv pip install -e ".[test,dev]"
|
|
205
|
+
uv run --no-project python -m pytest -q
|
|
206
|
+
uv run --no-project ruff check src
|
|
207
|
+
uv run --no-project ruff format --check src
|
|
208
|
+
uv build
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Bug reports and contributions are welcome. When reporting a parsing issue,
|
|
212
|
+
include a reproducible command and a sample document you can share in
|
|
213
|
+
[GitHub Issues](https://github.com/myhloli/DocVortex/issues).
|
|
214
|
+
|
|
215
|
+
## License
|
|
216
|
+
|
|
217
|
+
DocVortex project code is released under the
|
|
218
|
+
[MIT License](https://github.com/myhloli/DocVortex/blob/main/LICENSE.md).
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<img src="https://raw.githubusercontent.com/myhloli/DocVortex/main/docs/images/docvortex-logo.jpg" alt="DocVortex logo" width="200">
|
|
4
|
+
|
|
5
|
+
# DocVortex
|
|
6
|
+
|
|
7
|
+
**Native document parsing. One structure, many outputs.**
|
|
8
|
+
|
|
9
|
+
[](https://pypi.org/project/docvortex/)
|
|
10
|
+
[](https://pypi.org/project/docvortex/)
|
|
11
|
+
[](https://github.com/myhloli/DocVortex/actions/workflows/ci.yml)
|
|
12
|
+
[](https://github.com/myhloli/DocVortex/blob/main/LICENSE.md)
|
|
13
|
+
|
|
14
|
+
**English** · [简体中文](https://github.com/myhloli/DocVortex/blob/main/README_zh-CN.md)
|
|
15
|
+
|
|
16
|
+
[Quick start](#quick-start) · [Formats](#supported-formats) · [Documentation](#documentation)
|
|
17
|
+
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
## Documents in. Possibilities out.
|
|
21
|
+
|
|
22
|
+
DocVortex is a standalone Python engine for parsing and converting documents.
|
|
23
|
+
It reads native text and document structure into a unified representation,
|
|
24
|
+
then exports the result in the formats your workflow needs.
|
|
25
|
+
|
|
26
|
+
- **Multi-format input** — read text PDFs, Office files, OpenDocument files, EPUB, HTML, OFD and CSV.
|
|
27
|
+
- **Parse once, export many times** — reuse the same result for Markdown, HTML, LaTeX, DOCX, EPUB, PDF and structured JSON.
|
|
28
|
+
- **Portable results** — save document structure and image assets in a Bundle, then export again without the source file.
|
|
29
|
+
- **Composable APIs** — use the complete pipeline or integrate analysis, postprocessing and rendering separately.
|
|
30
|
+
|
|
31
|
+
Native parsing works without an OCR or VLM inference service. Use DocVortex
|
|
32
|
+
directly through its CLI or Python SDK, independently of MinerU.
|
|
33
|
+
|
|
34
|
+

|
|
35
|
+
|
|
36
|
+
## Quick start
|
|
37
|
+
|
|
38
|
+
Requires **Python 3.10–3.14**.
|
|
39
|
+
|
|
40
|
+
### Install
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
pip install docvortex
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Command line
|
|
47
|
+
|
|
48
|
+
Convert a text PDF to Markdown:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
docvortex convert report.pdf --format markdown --output output/report.md
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Replace `report.pdf` with a local file in any supported input format.
|
|
55
|
+
Use `--format` to choose the output; run `docvortex convert --help` for options.
|
|
56
|
+
|
|
57
|
+
### Python
|
|
58
|
+
|
|
59
|
+
Parse a document once and export it twice:
|
|
60
|
+
|
|
61
|
+
```python
|
|
62
|
+
import docvortex
|
|
63
|
+
|
|
64
|
+
result = docvortex.parse("report.pdf")
|
|
65
|
+
result.export("output/report.md", output_format="markdown")
|
|
66
|
+
result.export("output/report.docx", output_format="docx")
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
The result owns its document structure and assets, so further exports do not
|
|
70
|
+
reopen or reparse the source. Existing output files are protected by default;
|
|
71
|
+
use `overwrite=True` in Python or `--overwrite` in the CLI to replace them.
|
|
72
|
+
|
|
73
|
+
## Supported formats
|
|
74
|
+
|
|
75
|
+
### Native inputs · 15 formats
|
|
76
|
+
|
|
77
|
+
| Document family | Formats |
|
|
78
|
+
| --- | --- |
|
|
79
|
+
| PDF with native text | PDF |
|
|
80
|
+
| Word & rich text | DOC, DOCX, RTF |
|
|
81
|
+
| Presentations | PPT, PPTX |
|
|
82
|
+
| Spreadsheets | XLS, XLSX, CSV |
|
|
83
|
+
| OpenDocument | ODT, ODS, ODP |
|
|
84
|
+
| E-books & web documents | EPUB, HTML |
|
|
85
|
+
| Open Fixed-layout Document | OFD |
|
|
86
|
+
|
|
87
|
+
### Outputs · 7 formats
|
|
88
|
+
|
|
89
|
+
| Output | `--format` / `output_format` |
|
|
90
|
+
| --- | --- |
|
|
91
|
+
| Markdown | `markdown` |
|
|
92
|
+
| HTML | `html` |
|
|
93
|
+
| LaTeX | `latex` |
|
|
94
|
+
| Word document | `docx` |
|
|
95
|
+
| EPUB e-book | `epub` |
|
|
96
|
+
| PDF | `pdf` |
|
|
97
|
+
| Structured JSON | `structured_content` |
|
|
98
|
+
|
|
99
|
+
PPT/PPTX and XLS/XLSX are input formats only. Structured JSON is an export
|
|
100
|
+
format; the [document JSON protocol](https://github.com/myhloli/DocVortex/blob/main/docs/JSON_PROTOCOL.md)
|
|
101
|
+
separately defines the analysis and intermediate representations.
|
|
102
|
+
|
|
103
|
+
## Save now, export later
|
|
104
|
+
|
|
105
|
+
A Bundle packages the parsed document and its image assets for reuse across
|
|
106
|
+
processes or machines. Load it whenever you need another output format:
|
|
107
|
+
|
|
108
|
+
```python
|
|
109
|
+
import docvortex
|
|
110
|
+
|
|
111
|
+
result = docvortex.parse("report.pdf")
|
|
112
|
+
result.save_bundle("output/report.bundle")
|
|
113
|
+
|
|
114
|
+
restored = docvortex.load_bundle("output/report.bundle")
|
|
115
|
+
restored.export("output/report.epub", output_format="epub")
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
The restored result works without the original file. See the
|
|
119
|
+
[usage guide](https://github.com/myhloli/DocVortex/blob/main/docs/USAGE.md#portable-bundles)
|
|
120
|
+
for Bundle contents, asset handling and overwrite rules.
|
|
121
|
+
|
|
122
|
+
Need only the title, authors or other source properties?
|
|
123
|
+
[`docvortex.extract_metadata()`](https://github.com/myhloli/DocVortex/blob/main/docs/METADATA.md)
|
|
124
|
+
reads metadata without parsing the document body.
|
|
125
|
+
|
|
126
|
+
## Choose the right workflow
|
|
127
|
+
|
|
128
|
+
- **Text PDFs:** native parsing uses the document's existing text and structure. Scanned pages requiring OCR need an external OCR or inference service.
|
|
129
|
+
- **PDF classification:** `docvortex classify report.pdf` returns `txt` or `ocr`. Classification is explicit and does not start inference; parsing does not automatically switch backends.
|
|
130
|
+
- **PDF export:** PDF sources with page geometry default to block layout restoration, with selectable text and region images for tables/charts. Other sources and older results use semantic reflow. Use `--pdf-layout original|reflow` to select explicitly; fonts, line breaks and drawing instructions are not reproduced losslessly. See [PDF output layout](docs/USAGE.md#pdf-output-layout).
|
|
131
|
+
|
|
132
|
+
## Documentation
|
|
133
|
+
|
|
134
|
+
| Guide | What you will find |
|
|
135
|
+
| --- | --- |
|
|
136
|
+
| [Usage](https://github.com/myhloli/DocVortex/blob/main/docs/USAGE.md) | Stage APIs, PDF pages, classification, images and Bundles |
|
|
137
|
+
| [Agent skill](skills/docvortex/SKILL.md) | CLI and Python SDK workflows for agents; copy the entire `skills/docvortex` folder to reuse |
|
|
138
|
+
| [Examples](https://github.com/myhloli/DocVortex/blob/main/demo/README.md) | Local PDF and Office samples with a runnable demo |
|
|
139
|
+
| [Metadata](https://github.com/myhloli/DocVortex/blob/main/docs/METADATA.md) | Source properties and per-format coverage |
|
|
140
|
+
| [JSON protocol](https://github.com/myhloli/DocVortex/blob/main/docs/JSON_PROTOCOL.md) | Document schemas, extensions and protocol migration |
|
|
141
|
+
| [HTML protocol](https://github.com/myhloli/DocVortex/blob/main/docs/HTML_PROTOCOL.md) | Semantic markers and round trips |
|
|
142
|
+
| [Public SDK & migration](https://github.com/myhloli/DocVortex/blob/main/docs/sdk-0.4.md) | Supported integration boundaries and the 0.4 upgrade |
|
|
143
|
+
| [Rendering ownership](https://github.com/myhloli/DocVortex/blob/main/docs/RENDER_OWNERSHIP.md) | DocVortex exports and MinerU-specific renderers |
|
|
144
|
+
|
|
145
|
+
## Development
|
|
146
|
+
|
|
147
|
+
From a local checkout:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
uv venv
|
|
151
|
+
uv pip install -e ".[test,dev]"
|
|
152
|
+
uv run --no-project python -m pytest -q
|
|
153
|
+
uv run --no-project ruff check src
|
|
154
|
+
uv run --no-project ruff format --check src
|
|
155
|
+
uv build
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Bug reports and contributions are welcome. When reporting a parsing issue,
|
|
159
|
+
include a reproducible command and a sample document you can share in
|
|
160
|
+
[GitHub Issues](https://github.com/myhloli/DocVortex/issues).
|
|
161
|
+
|
|
162
|
+
## License
|
|
163
|
+
|
|
164
|
+
DocVortex project code is released under the
|
|
165
|
+
[MIT License](https://github.com/myhloli/DocVortex/blob/main/LICENSE.md).
|
|
@@ -91,3 +91,45 @@ publication, date, authoring-software, and qualified count fields are shared by
|
|
|
91
91
|
The schema version remains 2.0. New readers accept absent source properties in existing documents;
|
|
92
92
|
old strict readers require an upgrade to accept this addition. No legacy data is rewritten or
|
|
93
93
|
silently enriched. See [source metadata](METADATA.md) for field and format semantics.
|
|
94
|
+
|
|
95
|
+
## Optional PDF layout geometry
|
|
96
|
+
|
|
97
|
+
Native PDF analysis adds `extensions.docvortex_layout` and deterministic
|
|
98
|
+
postprocessing preserves it in Middle JSON and result bundles:
|
|
99
|
+
|
|
100
|
+
```json
|
|
101
|
+
{"docvortex_layout":{"version":1,"pages":[{"page_idx":0,"width_pt":595.28,"height_pt":841.89}]}}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
`page_idx` is the original zero-based source index, including for page selections.
|
|
105
|
+
Dimensions are finite positive PDF points (72 points per inch), in the same
|
|
106
|
+
visible-page orientation as normalized block bboxes. Page rotation is already
|
|
107
|
+
accounted for; consumers must not rotate these coordinates again. Blank pages
|
|
108
|
+
also have geometry. Producers should provide an entry for each result page.
|
|
109
|
+
Duplicate indices, unsupported extension versions, and missing/invalid dimensions
|
|
110
|
+
cannot be used for original PDF layout. Extra source-page entries may be retained
|
|
111
|
+
when selecting a subset of an existing result.
|
|
112
|
+
|
|
113
|
+
Pages may also contain `image_rotations`, such as `{"3":270}`: keys are source
|
|
114
|
+
block indices encoded as strings, and values are the 0/90/180/270-degree angles
|
|
115
|
+
used to turn region crops upright. The original-layout renderer reverses this
|
|
116
|
+
crop transform when placing the image. This preserves rotated table images
|
|
117
|
+
without duplicating image data or adding rotated-text reconstruction.
|
|
118
|
+
|
|
119
|
+
This uses the existing JSON extension mechanism; Model/Middle/bundle schema
|
|
120
|
+
versions remain 2.0. Older documents without this extension remain readable.
|
|
121
|
+
OFD geometry is not collected in this version. Other producers can supply the
|
|
122
|
+
same extension for PDF results without depending on a live PDFDocument.
|
|
123
|
+
|
|
124
|
+
Host analyzers can reuse `docvortex.document.pdf.layout.extract_layout_geometry`
|
|
125
|
+
before closing their existing PDFDocument, then `attach_layout_image_rotations`
|
|
126
|
+
after block filtering. Preserve crop angles before removing inference-only
|
|
127
|
+
metadata. `remap_layout_geometry` maps local indices to source indices;
|
|
128
|
+
`merge_layout_extensions` merges cached page batches while requiring other
|
|
129
|
+
extensions to match and retaining the winning page's crop orientation.
|
|
130
|
+
MinerU uses these helpers for all PDF tiers alongside `extensions.mineru`.
|
|
131
|
+
|
|
132
|
+
Since 0.4.2, native PDF display equations have `content: ""` at the final output
|
|
133
|
+
boundary and keep their image payload, bbox and detected equation-number region.
|
|
134
|
+
Detection still uses internal text evidence. Inline formulas and model-assisted
|
|
135
|
+
non-Flash formulas are unchanged; existing results are not rewritten.
|