docvortex 0.2.1__tar.gz → 0.2.3__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.2.1/src/docvortex.egg-info → docvortex-0.2.3}/PKG-INFO +5 -29
- {docvortex-0.2.1 → docvortex-0.2.3}/README.md +4 -28
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/epub/converter.py +1 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/epub/xhtml.py +91 -7
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/markup/anchors.py +23 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/markup/projector.py +153 -40
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/document.py +9 -6
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/html/inline.py +15 -4
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/html/renderer.py +14 -9
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/version.py +1 -1
- docvortex-0.2.3/src/docvortex/visualization.py +222 -0
- {docvortex-0.2.1 → docvortex-0.2.3/src/docvortex.egg-info}/PKG-INFO +5 -29
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex.egg-info/SOURCES.txt +4 -25
- docvortex-0.2.3/tests/unittest/test_epub_backlinks.py +212 -0
- docvortex-0.2.3/tests/unittest/test_epub_quoted_note_types.py +125 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_epub.py +4 -2
- docvortex-0.2.3/tests/unittest/test_pdf_visualization.py +345 -0
- docvortex-0.2.1/docs/COMPATIBILITY.md +0 -89
- docvortex-0.2.1/docs/DOCVORTEX_UPGRADE.md +0 -104
- docvortex-0.2.1/docs/PDF_SCRIPT_REPAIR.md +0 -50
- docvortex-0.2.1/docs/PDF_TEXT_NORMALIZATION.md +0 -43
- docvortex-0.2.1/docs/REFACTOR_PROGRESS.md +0 -117
- docvortex-0.2.1/docs/architecture.md +0 -41
- docvortex-0.2.1/docs/migration.md +0 -20
- docvortex-0.2.1/docs/validation/content-list-ownership.json +0 -338
- docvortex-0.2.1/docs/validation/docvortex-text-baseline.json +0 -1505
- docvortex-0.2.1/docs/validation/docvortex-upgrade.json +0 -288
- docvortex-0.2.1/docs/validation/droid-cjk-v1.json +0 -1579
- docvortex-0.2.1/docs/validation/droid-platform-comparison.json +0 -65
- docvortex-0.2.1/docs/validation/html-namespace.json +0 -96
- docvortex-0.2.1/docs/validation/json-envelope-v2-baselines.json +0 -78
- docvortex-0.2.1/docs/validation/json-envelope-v2.md +0 -72
- docvortex-0.2.1/docs/validation/pdf-geometry-calibration.json +0 -5505
- docvortex-0.2.1/docs/validation/pdf-geometry-calibration.md +0 -74
- docvortex-0.2.1/docs/validation/pdf-script-repair.json +0 -378
- docvortex-0.2.1/docs/validation/pdf-text-normalization.json +0 -121
- docvortex-0.2.1/docs/validation/pdf-text-output-baseline.json +0 -1296
- docvortex-0.2.1/docs/validation/progressive-refactor.json +0 -700
- docvortex-0.2.1/docs/validation/test-migration.json +0 -16180
- docvortex-0.2.1/docs/validation/test-migration.md +0 -152
- docvortex-0.2.1/docs/validation.md +0 -415
- docvortex-0.2.1/src/docvortex/document/pdf/diagnostics.py +0 -350
- {docvortex-0.2.1 → docvortex-0.2.3}/LICENSE.md +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/MANIFEST.in +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/README.md +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/demo.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/office_docs/README.md +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/office_docs/docx_01.doc +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/office_docs/docx_01.docx +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/office_docs/pptx_01.ppt +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/office_docs/pptx_01.pptx +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/office_docs/rtf_01.rtf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/office_docs/xlsx_01.xls +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/office_docs/xlsx_01.xlsx +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs/2407.00079v4_origi-10.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs/IEBM_A_2667169_O-5.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs/caibao1.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs/demo1.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs/demo2.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs/demo3.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs/demo4.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs/demo6.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs/mixed_elements_pages_03_06.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs/mixed_elements_pages_07_10.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs/mixed_elements_pages_11_15.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs/mixed_elements_pages_39_40.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs/small_ocr.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs//344/270/255/346/226/207/350/256/272/346/226/207.pdf" +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs//344/270/255/346/226/207/350/256/272/346/226/2072.pdf" +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs//344/270/255/346/226/207/350/256/272/346/226/2073.pdf" +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/demo/pdfs//344/270/255/346/226/207/350/256/272/346/226/2074.pdf" +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/docs/HTML_PROTOCOL.md +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/docs/JSON_PROTOCOL.md +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/docs/PDF_FONTS.md +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/docs/RENDER_OWNERSHIP.md +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/pyproject.toml +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/schemas/middle-2.0.json +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/schemas/model-2.0.json +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/setup.cfg +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/_shared/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/_shared/hyperlink.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/_shared/image.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/_shared/markup/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/_shared/markup/anchors.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/_shared/markup/formula.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/_shared/markup/projector.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/_shared/markup/styles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/_shared/mathml.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/_shared/names.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/_shared/xycut.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/contracts.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/csv.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/epub/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/epub/constants.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/epub/errors.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/epub/metadata.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/epub/package.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/html/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/html/anchors.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/html/constants.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/html/contracts.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/html/converter.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/html/document.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/html/errors.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/html/resources.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/html/selector.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/models.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/ofd/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/ofd/constants.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/ofd/converter.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/ofd/errors.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/ofd/geometry.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/ofd/images.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/ofd/metadata.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/ofd/models.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/ofd/package.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/ofd/path.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/ofd/reading_order.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/ofd/resources.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/ofd/scene.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/ofd/table.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/ofd/text.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/doc/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/doc/bookmarks.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/doc/doc_converter.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/doc/fib.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/doc/fields.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/doc/formatting.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/doc/images.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/doc/lists.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/doc/models.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/doc/parser.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/doc/pieces.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/doc/records.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/doc/sprm.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/doc/styles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/docx/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/docx/context.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/docx/docx_converter.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/docx/equationxml.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/docx/fields.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/docx/formatting_types.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/docx/main.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/docx/numbering.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/docx/office_xml.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/docx/package_normalizer.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/docx/resources.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/docx/styles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/docx/tables.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/equation/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/equation/image.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/equation/latex_dict.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/equation/mtef.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/equation/mtef_v5.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/equation/omml.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/equation/ooxml.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/errors.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/image.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/legacy/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/legacy/binary.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/legacy/officeart.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/legacy/ole.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/limits.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/odf/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/odf/chart.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/odf/constants.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/odf/converters.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/odf/errors.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/odf/metadata.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/odf/models.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/odf/package.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/odf/styles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/odf/table.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/odf/text.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/ooxml_chart.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/opc.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/ppt/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/ppt/models.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/ppt/parser.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/ppt/ppt_converter.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/ppt/records.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/ppt/style_text.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/pptx/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/pptx/context.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/pptx/lists.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/pptx/main.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/pptx/package_normalizer.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/pptx/pptx_converter.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/pptx/resources.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/pptx/shapes.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/pptx/text_styles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/pptx/titles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/rich_text.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/rtf/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/rtf/converter.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/rtf/lexer.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/rtf/math.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/rtf/models.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/rtf/parser.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/spreadsheet/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/spreadsheet/html.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/spreadsheet/models.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/spreadsheet/projector.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/streams.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/xls/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/xls/chart.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/xls/embedded_chart.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/xls/models.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/xls/number_format.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/xls/parser.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/xls/records.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/xls/strings.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/xls/xls_converter.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/xlsx/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/xlsx/main.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/xlsx/ooxml_ole.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/xlsx/package_normalizer.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/office/xlsx/xlsx_converter.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/auxiliary_text.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/char_geometry.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/code_blocks.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/formulas.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/geometry.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/graphics.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/index_blocks.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/inline/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/inline/common.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/inline/detection.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/inline/matching.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/inline/materialize.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/inline/scripts.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/inline/types.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/line_layout.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/line_merging.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/models.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/native_text.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/pipeline.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/script_geometry.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/shared.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/spatial_text.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_annotations.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_constants.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_detection.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_filled_grid.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_geometry.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_materialization.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_recovery/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_recovery/candidate.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_recovery/contracts.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_recovery/engine.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_recovery/geometry.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_recovery/sparse_common.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_recovery/sparse_hybrid.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_recovery/sparse_multiline.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_recovery/text.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_recovery/text_grid.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_recovery/vector.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_rows.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_rules.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/table_text_styles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/tables.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/text_assembly/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/text_assembly/annotations.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/text_assembly/assembly.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/text_assembly/common.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/text_assembly/footnotes.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/text_assembly/merging.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/text_assembly/rows.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/text_blocks.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/text_styles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/title_analysis/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/title_analysis/body_profile.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/title_analysis/common.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/title_analysis/document_profile.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/title_analysis/lane_titles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/title_analysis/page_titles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/title_analysis/prototype.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/title_analysis/structural.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/titles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/typography.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/analyzers/native/pdf/visual_annotations.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/api.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/assets/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/assets/store.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/cli.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/codecs/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/codecs/html/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/codecs/html/contracts.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/codecs/html/materializer.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/codecs/html/parser.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/codecs/html/resources.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/codecs/json.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/inline.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/markup/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/markup/formula.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/markup/styles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/mathml.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/normalization.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/spans.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/table/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/table/blocks.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/table/content.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/table/document.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/table/html.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/table/models.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/table/rules.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/table/structure.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/content/tree.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/contracts.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/detection.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/filetypes.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/page_range.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/classify.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/constants.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/font_runtime.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/geometry.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/images.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/native_annotations.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/native_contracts.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/native_coordinates.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/native_lifecycle.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/native_objects.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/native_text_geometry.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/pdfium.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/raster.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/text/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/text/contracts.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/text/extract.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/text/geometry.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/text/groups.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/visual_geometry.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/pdf/visuals.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/document/source.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/errors.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/export/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/export/bundle.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/export/files.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/export/middle.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/foundation/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/foundation/geometry.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/foundation/hyperlink.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/foundation/image.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/foundation/image_encoding.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/foundation/image_payload.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/foundation/language.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/foundation/platform.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/foundation/text.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/foundation/type_identity.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/foundation/xml_names.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/options.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/postprocess/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/postprocess/content.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/postprocess/document.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/postprocess/lists.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/postprocess/page_blocks.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/postprocess/pages.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/postprocess/paragraphs.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/postprocess/visual.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/common/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/common/context.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/common/html_table.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/common/index.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/common/list_items.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/common/planner.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/docx/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/docx/assets.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/docx/inline.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/docx/math.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/docx/renderer.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/docx/styles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/docx/table.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/epub/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/epub/assets.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/epub/package.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/epub/renderer.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/html/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/html/sanitizer.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/html/table.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/latex/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/latex/assets.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/latex/inline.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/latex/renderer.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/latex/table.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/markdown/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/markdown/assets.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/markdown/blocks.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/markdown/escaping.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/markdown/inline.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/markdown/renderer.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/markdown/table.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/pdf/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/pdf/assets.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/pdf/formula.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/pdf/inline.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/pdf/renderer.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/pdf/styles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/pdf/table.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/structured_content/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/_internal/structured_content/renderer.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/api.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/contracts.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/docx.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/epub.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/fragments.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/html.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/latex.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/markdown.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/pdf.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/render/structured_content.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/resources/epub/docvortex.css +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/resources/fasttext-langdetect/lid.176.ftz +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/resources/fonts/DroidSansFallbackFull.ttf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/resources/fonts/NOTICE +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/resources/fonts/manifest.json +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/resources/html/docvortex.css +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/resources/html/docvortex.min.css +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/result.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex/schema.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex.egg-info/dependency_links.txt +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex.egg-info/entry_points.txt +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex.egg-info/requires.txt +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/src/docvortex.egg-info/top_level.txt +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/benchmarks/flash_pdf.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/benchmarks/pipeline.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/fixtures/evaluate_native_pdf_table_manifest.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/fixtures/flash_layout_block_expectations.json +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/fixtures/flash_layout_geometry_manifest.json +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/fixtures/flash_layout_semantic_expectations.json +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/fixtures/generate_synthetic_pdf_fixtures.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/fixtures/native_pdf_table_cross_page_manifest.json +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/fixtures/native_pdf_table_demo_manifest.json +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/fixtures/native_pdf_table_script_truth.json +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/fixtures/pdf_mixed_font_script_line.json +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/fixtures/rtf/semantic.rtf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_architecture.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_benchmark_entrypoint.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_brand_protocol.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_complete_pipeline.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_converter_lifecycle.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_document_envelope.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_format_matrix.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_html_namespace.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_mixed_font_script_reference.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_pdf_font_geometry.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_pdf_font_runtime.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_pdf_model_text_normalization.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_pdf_output_text.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_pdf_render_pool.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_pdf_source_row_merging.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_pdf_symbol_normalization.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_public_pipeline.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_refactor_raster.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_refactor_rendering.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_refactor_resources.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_render_ownership.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_renderer_branding.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_shared_boundaries.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_system_font_pdf_pipeline.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/test_validated_geometry.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_docx_equationxml_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_epub_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_flash_pdf_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_image_mtef_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_legacy_doc_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_legacy_ppt_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_legacy_xls_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_metafile_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_mtef_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_mtef_v5_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_native_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_odf_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_ofd_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_office_image_mtef_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_ooxml_mtef_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/_span_test_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/flash_layout/mixed_text_layout_sample.pdf.xor +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/flash_table_annotations_synthetic.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/metabolic_pathway_page_3.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/native_cjk_layout_synthetic.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/native_pdf_tables/annual_report_fundraising_projects_table.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/native_pdf_tables/annual_report_management_roles_table.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/native_pdf_tables/annual_report_research_projects_table.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/native_pdf_tables/conference_schedule_tables.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/native_pdf_tables/engineering_process_restrictions_table.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/native_pdf_tables/fund_asset_and_transaction_tables.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/native_pdf_tables/fund_manager_profile_table.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/native_pdf_tables/manufacturing_facilities_cross_page_table.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/native_pdf_tables/pollutant_discharge_tables.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/native_pdf_tables/procurement_contract_tables.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/native_pdf_tables/procurement_document_blank_page_tables.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/native_pdf_tables/quarterly_report_financial_tables.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/pdfs/test.pdf +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_backend_architecture.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_backend_block_object_regressions.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_docx_assets.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_docx_complex_fields.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_docx_math.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_docx_render.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_docx_special_char_tables.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_docx_table.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_emfplus_integration.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_epub_render.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_csv.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_docx_equationxml.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_html.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_image_mtef.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_legacy_chart_data.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_legacy_doc.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_legacy_doc_mtef.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_legacy_ppt.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_legacy_xls.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_legacy_xls_ppt_mtef.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_markup_anchors.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_model.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_mtef_v5.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_odf.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_ofd.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_office_image_mtef.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_office_metafile.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_office_models.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_office_mtef_v5.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_office_package_normalizers.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_office_title_types.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_ooxml_mtef.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_auxiliary_text.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_char_geometry.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_code_blocks.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_document_profile.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_extractor.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_formulas.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_graphics.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_index_blocks.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_line_metadata.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_native_text.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_pipeline.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_samples.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_scripts.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_semantics.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_tables.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_text_blocks.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_titles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_pdf_visual_annotations.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_rtf.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_shared_helpers.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_flash_spreadsheet_projector.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_guess_suffix_ole2.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_html_css_build.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_html_render.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_html_security.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_hybrid_script_source_pdfs.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_latex_render.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_markdown_render.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_middle_json_block_models.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_middle_json_export.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_middle_json_validator.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_model_json.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_native_pdf_table.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_native_pdf_table_demo_manifest.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_native_pdf_table_manifest.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_native_pdf_table_pipeline.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_native_pdf_table_scripts.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_office_demo_exports.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_office_demo_pages.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_office_parser_regressions.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_pdf_classify.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_pdf_demo_links.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_pdf_document.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_pdf_render.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_pdf_render_diagnostics.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_pdf_text_styles.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_postprocess_page_blocks.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_postprocess_pages.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_postprocess_paragraphs.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_postprocess_visual.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_render_api.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_render_html_table.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_render_image_renderer.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_render_list_index_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_structured_content_render.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_table_merge.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_table_merge_cell_merge.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_text_block_anchor.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tests/unittest/test_text_utils.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tools/__init__.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tools/build_html_css.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tools/calibrate_pdf_geometry.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tools/capture_baseline.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tools/capture_platform_layout.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tools/compare_font_platforms.py +0 -0
- {docvortex-0.2.1 → docvortex-0.2.3}/tools/font_geometry.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: docvortex
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: A fast, multi-format document parsing and conversion engine
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
Project-URL: Repository, https://github.com/myhloli/DocVortex
|
|
@@ -52,7 +52,7 @@ Requires-Dist: twine; extra == "dev"
|
|
|
52
52
|
Dynamic: license-file
|
|
53
53
|
|
|
54
54
|
|
|
55
|
-

|
|
56
56
|
|
|
57
57
|
# DocVortex
|
|
58
58
|
|
|
@@ -61,12 +61,12 @@ A fast, multi-format document parsing and conversion engine.
|
|
|
61
61
|
DocVortex provides a complete, standalone document pipeline:
|
|
62
62
|
|
|
63
63
|
```text
|
|
64
|
-
Document ->
|
|
64
|
+
Document -> Unified Intermediate Representation -> Render / Export
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
Native inputs include text PDFs, DOC/DOCX, PPT/PPTX, XLS/XLSX, RTF, ODT/ODS/ODP,
|
|
68
68
|
EPUB, HTML, OFD and CSV. Output formats include Markdown, HTML, LaTeX, DOCX,
|
|
69
|
-
EPUB, PDF and structured content.
|
|
69
|
+
EPUB, PDF and structured content.
|
|
70
70
|
|
|
71
71
|
Native parsing runs without OCR or VLM inference services.
|
|
72
72
|
PDF classification is an explicit document operation; native analysis does not
|
|
@@ -81,8 +81,7 @@ docvortex classify report.pdf
|
|
|
81
81
|
```
|
|
82
82
|
|
|
83
83
|
Python 3.10–3.14 is supported. Native parsing does not require OCR/VLM inference
|
|
84
|
-
services.
|
|
85
|
-
compatibility matrix also exercises 5.13.0.
|
|
84
|
+
services.
|
|
86
85
|
|
|
87
86
|
## Parse once, export many times
|
|
88
87
|
|
|
@@ -166,28 +165,5 @@ uv build
|
|
|
166
165
|
|
|
167
166
|
DocVortex project code is licensed under the [MIT License](LICENSE.md).
|
|
168
167
|
|
|
169
|
-
Dependencies include `pydantic>=2.12.5,<3` and `numpy>=1.21.6`; the
|
|
170
|
-
installer selects versions compatible with the active Python interpreter.
|
|
171
|
-
On Apple Silicon, Python 3.14 installation requires macOS 14 or newer because
|
|
172
|
-
of the ONNX Runtime dependency used by file-type detection.
|
|
173
|
-
|
|
174
|
-
See [the standalone example](demo/README.md) for native parsing and portable
|
|
175
|
-
result bundles, and [the validation record](docs/validation.md) for test coverage.
|
|
176
|
-
|
|
177
|
-
PDFium uses a bundled, pinned CJK fallback font for non-embedded CJK fonts;
|
|
178
|
-
no system font installation is required. See [PDF font policy](docs/PDF_FONTS.md)
|
|
179
|
-
for initialization, diagnostics and replacement boundaries.
|
|
180
|
-
|
|
181
|
-
PDF output normalizes fullwidth Latin letters, digits and selected technical
|
|
182
|
-
symbols in natural-language text and table cells, preserving Chinese punctuation,
|
|
183
|
-
formulas, code and link targets. See
|
|
184
|
-
[PDF text normalization](docs/PDF_TEXT_NORMALIZATION.md) for scope and API usage.
|
|
185
|
-
|
|
186
|
-
See [the DocVortex upgrade guide](docs/DOCVORTEX_UPGRADE.md) for package, protocol,
|
|
187
|
-
PDF text rules and publishing configuration changes.
|
|
188
|
-
|
|
189
168
|
See [rendering ownership](docs/RENDER_OWNERSHIP.md) for the seven engine targets,
|
|
190
169
|
MinerU Content List integration and public fragment helpers.
|
|
191
|
-
|
|
192
|
-
See [refactor validation](docs/REFACTOR_PROGRESS.md) for the staged internal
|
|
193
|
-
refactoring, compatibility checks, corpus comparisons and measured performance.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-

|
|
3
3
|
|
|
4
4
|
# DocVortex
|
|
5
5
|
|
|
@@ -8,12 +8,12 @@ A fast, multi-format document parsing and conversion engine.
|
|
|
8
8
|
DocVortex provides a complete, standalone document pipeline:
|
|
9
9
|
|
|
10
10
|
```text
|
|
11
|
-
Document ->
|
|
11
|
+
Document -> Unified Intermediate Representation -> Render / Export
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
Native inputs include text PDFs, DOC/DOCX, PPT/PPTX, XLS/XLSX, RTF, ODT/ODS/ODP,
|
|
15
15
|
EPUB, HTML, OFD and CSV. Output formats include Markdown, HTML, LaTeX, DOCX,
|
|
16
|
-
EPUB, PDF and structured content.
|
|
16
|
+
EPUB, PDF and structured content.
|
|
17
17
|
|
|
18
18
|
Native parsing runs without OCR or VLM inference services.
|
|
19
19
|
PDF classification is an explicit document operation; native analysis does not
|
|
@@ -28,8 +28,7 @@ docvortex classify report.pdf
|
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Python 3.10–3.14 is supported. Native parsing does not require OCR/VLM inference
|
|
31
|
-
services.
|
|
32
|
-
compatibility matrix also exercises 5.13.0.
|
|
31
|
+
services.
|
|
33
32
|
|
|
34
33
|
## Parse once, export many times
|
|
35
34
|
|
|
@@ -113,28 +112,5 @@ uv build
|
|
|
113
112
|
|
|
114
113
|
DocVortex project code is licensed under the [MIT License](LICENSE.md).
|
|
115
114
|
|
|
116
|
-
Dependencies include `pydantic>=2.12.5,<3` and `numpy>=1.21.6`; the
|
|
117
|
-
installer selects versions compatible with the active Python interpreter.
|
|
118
|
-
On Apple Silicon, Python 3.14 installation requires macOS 14 or newer because
|
|
119
|
-
of the ONNX Runtime dependency used by file-type detection.
|
|
120
|
-
|
|
121
|
-
See [the standalone example](demo/README.md) for native parsing and portable
|
|
122
|
-
result bundles, and [the validation record](docs/validation.md) for test coverage.
|
|
123
|
-
|
|
124
|
-
PDFium uses a bundled, pinned CJK fallback font for non-embedded CJK fonts;
|
|
125
|
-
no system font installation is required. See [PDF font policy](docs/PDF_FONTS.md)
|
|
126
|
-
for initialization, diagnostics and replacement boundaries.
|
|
127
|
-
|
|
128
|
-
PDF output normalizes fullwidth Latin letters, digits and selected technical
|
|
129
|
-
symbols in natural-language text and table cells, preserving Chinese punctuation,
|
|
130
|
-
formulas, code and link targets. See
|
|
131
|
-
[PDF text normalization](docs/PDF_TEXT_NORMALIZATION.md) for scope and API usage.
|
|
132
|
-
|
|
133
|
-
See [the DocVortex upgrade guide](docs/DOCVORTEX_UPGRADE.md) for package, protocol,
|
|
134
|
-
PDF text rules and publishing configuration changes.
|
|
135
|
-
|
|
136
115
|
See [rendering ownership](docs/RENDER_OWNERSHIP.md) for the seven engine targets,
|
|
137
116
|
MinerU Content List integration and public fragment helpers.
|
|
138
|
-
|
|
139
|
-
See [refactor validation](docs/REFACTOR_PROGRESS.md) for the staged internal
|
|
140
|
-
refactoring, compatibility checks, corpus comparisons and measured performance.
|
|
@@ -5,8 +5,10 @@ from __future__ import annotations
|
|
|
5
5
|
import base64
|
|
6
6
|
from dataclasses import dataclass
|
|
7
7
|
|
|
8
|
+
from lxml import html as lxml_html
|
|
8
9
|
from lxml import etree # type: ignore[reportMissingImports]
|
|
9
10
|
|
|
11
|
+
from ....content.spans import normalize_span_dicts
|
|
10
12
|
from ....foundation.image_payload import parse_image_data_uri_strict
|
|
11
13
|
from .._shared.hyperlink import sanitize_hyperlink_target
|
|
12
14
|
from docvortex.content.markup import (
|
|
@@ -52,13 +54,25 @@ _NOTE_NON_TEXT_SUBTREES = frozenset(
|
|
|
52
54
|
)
|
|
53
55
|
|
|
54
56
|
|
|
57
|
+
def _unwrap_epub_type_quotes(value: str) -> str:
|
|
58
|
+
"""移除单层成对外围引号,避免把多个各自带引号的 token 当作一个整体。"""
|
|
59
|
+
normalized = value.strip()
|
|
60
|
+
quote_pairs = {'"': '"', "'": "'", "“": "”", "‘": "’"}
|
|
61
|
+
if len(normalized) < 2 or quote_pairs.get(normalized[0]) != normalized[-1]:
|
|
62
|
+
return normalized
|
|
63
|
+
inner = normalized[1:-1]
|
|
64
|
+
if normalized[0] in inner or normalized[-1] in inner:
|
|
65
|
+
return normalized
|
|
66
|
+
return inner.strip()
|
|
67
|
+
|
|
68
|
+
|
|
55
69
|
def _epub_types(element: etree._Element) -> frozenset[str]:
|
|
56
70
|
"""读取 EPUB 命名空间或未命名 type 属性中的结构语义 token。"""
|
|
57
71
|
values: list[str] = []
|
|
58
72
|
for name, value in element.attrib.items():
|
|
59
73
|
local_name = etree.QName(name).localname if name.startswith("{") else name.split(":", 1)[-1]
|
|
60
74
|
if local_name == "type":
|
|
61
|
-
values.extend(value.casefold().split())
|
|
75
|
+
values.extend(_unwrap_epub_type_quotes(token) for token in _unwrap_epub_type_quotes(value).casefold().split())
|
|
62
76
|
return frozenset(values)
|
|
63
77
|
|
|
64
78
|
|
|
@@ -149,11 +163,12 @@ class _EpubAnchorPolicy:
|
|
|
149
163
|
|
|
150
164
|
|
|
151
165
|
class EpubAnchorRegistry:
|
|
152
|
-
"""
|
|
166
|
+
"""建立章节路径、正文、标题与 note fragment 到实际 canonical anchor 的别名表。"""
|
|
153
167
|
|
|
154
168
|
def __init__(self, chapters: list[tuple[str, etree._Element]], package: EpubPackage) -> None:
|
|
155
169
|
"""预扫描全部选中 XHTML 章节,建立标题、note 与章节起点映射。"""
|
|
156
170
|
self._package = package
|
|
171
|
+
self._pending_links: dict[str, tuple[str, str | None]] = {}
|
|
157
172
|
documents = [
|
|
158
173
|
MarkupAnchorDocument(
|
|
159
174
|
key=chapter_path,
|
|
@@ -166,6 +181,35 @@ class EpubAnchorRegistry:
|
|
|
166
181
|
]
|
|
167
182
|
self._registry = MarkupAnchorRegistry(documents, _EpubAnchorPolicy())
|
|
168
183
|
|
|
184
|
+
def register_text_targets(
|
|
185
|
+
self,
|
|
186
|
+
chapter_path: str,
|
|
187
|
+
root: etree._Element,
|
|
188
|
+
sources: list[tuple[etree._Element, dict[str, object]]],
|
|
189
|
+
) -> None:
|
|
190
|
+
"""在章节投影完成后登记真实正文目标,不修改已有标题和脚注身份。"""
|
|
191
|
+
self._registry.register_text_targets(chapter_path, root, sources)
|
|
192
|
+
|
|
193
|
+
def defer_link(self, href: str, *, base_part: str) -> str | None:
|
|
194
|
+
"""暂存尚未物化的包内目标,跨章节投影完成后统一兑现或降级。"""
|
|
195
|
+
normalized = sanitize_hyperlink_target(href, allowed_schemes=(), allow_relative=True, allow_fragment=True)
|
|
196
|
+
target = self._package.resolve_reference(normalized, base_part=base_part) if normalized is not None else None
|
|
197
|
+
if target is None:
|
|
198
|
+
return None
|
|
199
|
+
placeholder = f"#epub-pending-{len(self._pending_links)}"
|
|
200
|
+
self._pending_links[placeholder] = (target.path, target.fragment)
|
|
201
|
+
return placeholder
|
|
202
|
+
|
|
203
|
+
def finalize_links(self, pages: list[list[dict[str, object]]]) -> None:
|
|
204
|
+
"""消除所有解析期链接占位,保留无效链接的文字与样式。"""
|
|
205
|
+
targets = {
|
|
206
|
+
placeholder: (f"#{anchor}" if (anchor := self._registry.resolve_target(path, fragment)) else None)
|
|
207
|
+
for placeholder, (path, fragment) in self._pending_links.items()
|
|
208
|
+
}
|
|
209
|
+
for page in pages:
|
|
210
|
+
_finalize_pending_content(page, targets)
|
|
211
|
+
self._pending_links.clear()
|
|
212
|
+
|
|
169
213
|
def heading_anchor(self, heading: etree._Element) -> str | None:
|
|
170
214
|
"""返回一个已预扫描 EPUB 标题的规范 anchor。"""
|
|
171
215
|
return self._registry.heading_anchor(heading)
|
|
@@ -179,7 +223,7 @@ class EpubAnchorRegistry:
|
|
|
179
223
|
return self._registry.note_anchor(note)
|
|
180
224
|
|
|
181
225
|
def resolve_anchor(self, href: str, *, base_part: str) -> str | None:
|
|
182
|
-
"""
|
|
226
|
+
"""解析指向已登记正文、标题或 note 的包内链接,返回不带井号的 anchor。"""
|
|
183
227
|
normalized = sanitize_hyperlink_target(
|
|
184
228
|
href,
|
|
185
229
|
allowed_schemes=(),
|
|
@@ -194,7 +238,7 @@ class EpubAnchorRegistry:
|
|
|
194
238
|
return self._registry.resolve_target(target.path, target.fragment)
|
|
195
239
|
|
|
196
240
|
def resolve_link(self, href: str, *, base_part: str) -> str | None:
|
|
197
|
-
"""
|
|
241
|
+
"""解析安全外部链接或指向已登记输出块的 EPUB 内部链接。"""
|
|
198
242
|
external = sanitize_hyperlink_target(href)
|
|
199
243
|
if external is not None:
|
|
200
244
|
return external
|
|
@@ -217,7 +261,9 @@ class _EpubMarkupContext:
|
|
|
217
261
|
|
|
218
262
|
def resolve_link(self, href: str) -> str | None:
|
|
219
263
|
"""解析安全外部链接或实际存在的 EPUB 包内 anchor。"""
|
|
220
|
-
return self.anchors.resolve_link(href, base_part=self.chapter_path)
|
|
264
|
+
return self.anchors.resolve_link(href, base_part=self.chapter_path) or self.anchors.defer_link(
|
|
265
|
+
href, base_part=self.chapter_path
|
|
266
|
+
)
|
|
221
267
|
|
|
222
268
|
def resolve_image(self, source: str, *, alt: str = "") -> ResolvedMarkupImage | None:
|
|
223
269
|
"""读取并严格校验一个 EPUB 包内栅格图片引用。"""
|
|
@@ -278,12 +324,50 @@ class EpubChapterConverter:
|
|
|
278
324
|
if body is None:
|
|
279
325
|
return []
|
|
280
326
|
context = _EpubMarkupContext(self.package, self.chapter_path, self.anchors)
|
|
281
|
-
|
|
327
|
+
projector = MarkupProjector(
|
|
282
328
|
body,
|
|
283
329
|
context,
|
|
284
330
|
self.stylesheet,
|
|
285
331
|
single_document_title=False,
|
|
286
|
-
|
|
332
|
+
track_text_sources=True,
|
|
333
|
+
)
|
|
334
|
+
blocks = projector.convert()
|
|
335
|
+
self.anchors.register_text_targets(self.chapter_path, self.root, projector.text_sources)
|
|
336
|
+
return blocks
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
def _finalize_pending_content(items: list[dict[str, object]], targets: dict[str, str | None]) -> None:
|
|
340
|
+
"""递归处理 raw block 和行内 Span,表格 HTML 同步替换或解包失效链接。"""
|
|
341
|
+
output: list[dict[str, object]] = []
|
|
342
|
+
flattened = False
|
|
343
|
+
for item in items:
|
|
344
|
+
content = item.get("content")
|
|
345
|
+
if isinstance(content, list):
|
|
346
|
+
_finalize_pending_content(content, targets)
|
|
347
|
+
elif item.get("type") == "table" and isinstance(content, str) and "#epub-pending-" in content:
|
|
348
|
+
root = lxml_html.fragment_fromstring(content, create_parent="div")
|
|
349
|
+
for link in root.iter("a"):
|
|
350
|
+
href = link.get("href")
|
|
351
|
+
if href in targets:
|
|
352
|
+
if target := targets[href]:
|
|
353
|
+
link.set("href", target)
|
|
354
|
+
else:
|
|
355
|
+
link.drop_tag()
|
|
356
|
+
item["content"] = (root.text or "") + "".join(lxml_html.tostring(child, encoding="unicode") for child in root)
|
|
357
|
+
url = item.get("url")
|
|
358
|
+
if item.get("type") == "hyperlink" and isinstance(url, str) and url in targets:
|
|
359
|
+
if target := targets[url]:
|
|
360
|
+
item["url"] = target
|
|
361
|
+
else:
|
|
362
|
+
if isinstance(content, list):
|
|
363
|
+
output.extend(content)
|
|
364
|
+
flattened = True
|
|
365
|
+
continue
|
|
366
|
+
output.append(item)
|
|
367
|
+
if flattened:
|
|
368
|
+
# 只有失效链接被解包的 Span 列表需要重新合并,避免重复校验整本正文。
|
|
369
|
+
output = normalize_span_dicts(output)
|
|
370
|
+
items[:] = output
|
|
287
371
|
|
|
288
372
|
|
|
289
373
|
def convert_svg_spine(
|
|
@@ -154,6 +154,29 @@ class MarkupAnchorRegistry:
|
|
|
154
154
|
return None
|
|
155
155
|
return self._heading_anchors.get(descendant) or self._note_anchors.get(descendant)
|
|
156
156
|
|
|
157
|
+
def register_text_targets(
|
|
158
|
+
self,
|
|
159
|
+
document_key: str,
|
|
160
|
+
root: etree._Element,
|
|
161
|
+
sources: list[tuple[etree._Element, dict[str, object]]],
|
|
162
|
+
) -> None:
|
|
163
|
+
"""按源顺序把实际物化正文的多个 ID 别名绑定到一个块级 anchor。"""
|
|
164
|
+
blocks_by_source = {source: block for source, block in reversed(sources)}
|
|
165
|
+
for element in root.iter():
|
|
166
|
+
if not isinstance(element.tag, str) or not (fragment := element_id(element)):
|
|
167
|
+
continue
|
|
168
|
+
block = blocks_by_source.get(element)
|
|
169
|
+
if block is None:
|
|
170
|
+
continue
|
|
171
|
+
target_key = (document_key, fragment)
|
|
172
|
+
if target_key in self._targets:
|
|
173
|
+
continue
|
|
174
|
+
anchor = block.get("anchor")
|
|
175
|
+
if not isinstance(anchor, str):
|
|
176
|
+
anchor = canonical_anchor(self._policy.anchor_prefix, document_key, f"text-{fragment}")
|
|
177
|
+
block["anchor"] = anchor
|
|
178
|
+
self._targets[target_key] = anchor
|
|
179
|
+
|
|
157
180
|
def heading_anchor(self, heading: etree._Element) -> str | None:
|
|
158
181
|
"""返回一个已登记标题的规范 anchor。"""
|
|
159
182
|
return self._heading_anchors.get(heading)
|