docvortex 0.3.0__tar.gz → 0.4.0__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.
Files changed (605) hide show
  1. {docvortex-0.3.0/src/docvortex.egg-info → docvortex-0.4.0}/PKG-INFO +5 -1
  2. {docvortex-0.3.0 → docvortex-0.4.0}/README.md +4 -0
  3. docvortex-0.4.0/docs/sdk-0.4.md +39 -0
  4. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/_shared/hyperlink.py +1 -2
  5. docvortex-0.4.0/src/docvortex/analyzers/native/_shared/image.py +5 -0
  6. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/_shared/names.py +1 -3
  7. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/contracts.py +1 -1
  8. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/epub/xhtml.py +13 -4
  9. docvortex-0.4.0/src/docvortex/analyzers/native/html/__init__.py +5 -0
  10. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/html/converter.py +4 -3
  11. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/html/document.py +5 -4
  12. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/html/resources.py +4 -4
  13. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/models.py +2 -2
  14. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/images.py +3 -3
  15. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/vector.py +2 -2
  16. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/docx/context.py +3 -1
  17. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/image.py +1 -1
  18. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/odf/text.py +5 -5
  19. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/pptx/context.py +2 -1
  20. docvortex-0.3.0/src/docvortex/analyzers/native/pdf/script_geometry.py → docvortex-0.4.0/src/docvortex/analyzers/native/pdf/_script_geometry.py +1 -3
  21. {docvortex-0.3.0/src/docvortex/analyzers/native/pdf/table_recovery → docvortex-0.4.0/src/docvortex/analyzers/native/pdf/_table_recovery}/candidate.py +0 -1
  22. {docvortex-0.3.0/src/docvortex/analyzers/native/pdf/table_recovery → docvortex-0.4.0/src/docvortex/analyzers/native/pdf/_table_recovery}/contracts.py +5 -2
  23. {docvortex-0.3.0/src/docvortex/analyzers/native/pdf/table_recovery → docvortex-0.4.0/src/docvortex/analyzers/native/pdf/_table_recovery}/geometry.py +1 -1
  24. {docvortex-0.3.0/src/docvortex/analyzers/native/pdf/table_recovery → docvortex-0.4.0/src/docvortex/analyzers/native/pdf/_table_recovery}/sparse_hybrid.py +1 -1
  25. {docvortex-0.3.0/src/docvortex/analyzers/native/pdf/table_recovery → docvortex-0.4.0/src/docvortex/analyzers/native/pdf/_table_recovery}/sparse_multiline.py +1 -1
  26. {docvortex-0.3.0/src/docvortex/analyzers/native/pdf/table_recovery → docvortex-0.4.0/src/docvortex/analyzers/native/pdf/_table_recovery}/text.py +2 -4
  27. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/char_geometry.py +2 -3
  28. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/code_blocks.py +2 -4
  29. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/formulas.py +4 -7
  30. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/graphics.py +4 -7
  31. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/inline/detection.py +1 -1
  32. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/inline/matching.py +1 -1
  33. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/inline/materialize.py +17 -1
  34. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/inline/scripts.py +1 -1
  35. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/line_layout.py +4 -7
  36. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/line_merging.py +11 -4
  37. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/models.py +2 -3
  38. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/native_text.py +5 -8
  39. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/pipeline.py +68 -88
  40. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/spatial_text.py +3 -3
  41. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/table_filled_grid.py +3 -3
  42. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/table_materialization.py +30 -16
  43. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/table_rules.py +4 -3
  44. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/table_text_styles.py +10 -11
  45. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/tables.py +241 -89
  46. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/text_assembly/assembly.py +1 -1
  47. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/text_assembly/common.py +1 -1
  48. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/text_assembly/rows.py +1 -1
  49. docvortex-0.4.0/src/docvortex/analyzers/pdf.py +186 -0
  50. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/api.py +7 -7
  51. docvortex-0.4.0/src/docvortex/assets/__init__.py +28 -0
  52. docvortex-0.4.0/src/docvortex/assets/images.py +55 -0
  53. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/assets/store.py +1 -1
  54. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/inline.py +2 -2
  55. docvortex-0.4.0/src/docvortex/content/links.py +5 -0
  56. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/markup/anchors.py +2 -2
  57. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/markup/formula.py +3 -3
  58. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/markup/projector.py +5 -5
  59. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/markup/styles.py +2 -3
  60. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/mathml.py +1 -2
  61. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/normalization.py +3 -3
  62. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/table/html.py +1 -2
  63. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/table/rules.py +1 -1
  64. docvortex-0.4.0/src/docvortex/content/text.py +25 -0
  65. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/contracts.py +0 -4
  66. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/__init__.py +2 -2
  67. docvortex-0.3.0/src/docvortex/document/pdf/document.py → docvortex-0.4.0/src/docvortex/document/pdf/_document.py +171 -15
  68. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/classify.py +1 -1
  69. docvortex-0.4.0/src/docvortex/document/pdf/constants.py +6 -0
  70. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/images.py +6 -6
  71. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/metadata.py +1 -1
  72. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/native_annotations.py +6 -4
  73. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/native_contracts.py +14 -12
  74. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/native_coordinates.py +5 -3
  75. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/native_lifecycle.py +2 -2
  76. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/native_objects.py +5 -3
  77. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/native_text_geometry.py +6 -4
  78. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/text/__init__.py +1 -1
  79. docvortex-0.3.0/src/docvortex/document/pdf/text/contracts.py → docvortex-0.4.0/src/docvortex/document/pdf/text/_contracts.py +1 -0
  80. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/text/extract.py +2 -2
  81. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/text/geometry.py +2 -1
  82. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/text/groups.py +3 -1
  83. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/visuals.py +52 -181
  84. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/source.py +4 -3
  85. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/export/bundle.py +2 -2
  86. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/export/middle.py +6 -7
  87. docvortex-0.4.0/src/docvortex/foundation/_coordinates.py +111 -0
  88. docvortex-0.3.0/src/docvortex/foundation/hyperlink.py → docvortex-0.4.0/src/docvortex/foundation/_hyperlink.py +0 -1
  89. docvortex-0.3.0/src/docvortex/foundation/image.py → docvortex-0.4.0/src/docvortex/foundation/_image.py +1 -1
  90. docvortex-0.4.0/src/docvortex/foundation/_image_operations.py +45 -0
  91. docvortex-0.4.0/src/docvortex/geometry.py +33 -0
  92. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/metadata.py +4 -4
  93. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/postprocess/lists.py +2 -3
  94. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/postprocess/page_blocks.py +2 -4
  95. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/postprocess/visual.py +10 -3
  96. docvortex-0.4.0/src/docvortex/public_api.py +302 -0
  97. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/docx/assets.py +4 -4
  98. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/docx/renderer.py +36 -36
  99. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/epub/assets.py +5 -5
  100. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/html/sanitizer.py +1 -2
  101. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/latex/assets.py +1 -1
  102. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/latex/table.py +2 -2
  103. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/pdf/assets.py +4 -4
  104. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/pdf/table.py +4 -2
  105. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/schema.py +7 -7
  106. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/version.py +1 -1
  107. {docvortex-0.3.0 → docvortex-0.4.0/src/docvortex.egg-info}/PKG-INFO +5 -1
  108. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex.egg-info/SOURCES.txt +30 -25
  109. {docvortex-0.3.0 → docvortex-0.4.0}/tests/benchmarks/flash_pdf.py +7 -5
  110. {docvortex-0.3.0 → docvortex-0.4.0}/tests/fixtures/evaluate_native_pdf_table_manifest.py +3 -3
  111. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_complete_pipeline.py +2 -2
  112. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_converter_lifecycle.py +5 -1
  113. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_document_metadata.py +2 -2
  114. docvortex-0.4.0/tests/test_geometry_api.py +66 -0
  115. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_mixed_font_script_reference.py +4 -4
  116. docvortex-0.4.0/tests/test_pdf_analysis_api.py +173 -0
  117. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_pdf_symbol_normalization.py +2 -2
  118. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_public_image_api.py +5 -5
  119. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_shared_boundaries.py +4 -4
  120. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_epub_render.py +2 -2
  121. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_html.py +2 -1
  122. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_model.py +1 -1
  123. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_office_metafile.py +1 -1
  124. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_char_geometry.py +6 -5
  125. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_code_blocks.py +4 -8
  126. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_formulas.py +1 -1
  127. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_graphics.py +1 -1
  128. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_pipeline.py +7 -6
  129. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_samples.py +5 -15
  130. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_scripts.py +19 -19
  131. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_semantics.py +2 -2
  132. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_tables.py +1 -1
  133. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_html_security.py +1 -1
  134. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_hybrid_script_source_pdfs.py +1 -1
  135. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_native_pdf_table.py +7 -7
  136. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_native_pdf_table_demo_manifest.py +8 -7
  137. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_native_pdf_table_scripts.py +7 -8
  138. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_pdf_classify.py +1 -1
  139. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_pdf_demo_links.py +3 -2
  140. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_pdf_document.py +4 -4
  141. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_pdf_text_styles.py +8 -10
  142. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_pdf_visualization.py +1 -1
  143. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_text_boundary_rules.py +1 -1
  144. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_text_utils.py +1 -1
  145. docvortex-0.3.0/src/docvortex/analyzers/native/_shared/image.py +0 -8
  146. docvortex-0.3.0/src/docvortex/analyzers/native/html/__init__.py +0 -6
  147. docvortex-0.3.0/src/docvortex/analyzers/native/html/contracts.py +0 -7
  148. docvortex-0.3.0/src/docvortex/analyzers/native/pdf/shared.py +0 -30
  149. docvortex-0.3.0/src/docvortex/analyzers/native/pdf/text_styles.py +0 -55
  150. docvortex-0.3.0/src/docvortex/assets/__init__.py +0 -7
  151. docvortex-0.3.0/src/docvortex/document/pdf/constants.py +0 -132
  152. docvortex-0.3.0/src/docvortex/document/pdf/geometry.py +0 -31
  153. docvortex-0.3.0/src/docvortex/document/pdf/visual_geometry.py +0 -201
  154. docvortex-0.3.0/src/docvortex/foundation/platform.py +0 -38
  155. {docvortex-0.3.0 → docvortex-0.4.0}/LICENSE.md +0 -0
  156. {docvortex-0.3.0 → docvortex-0.4.0}/MANIFEST.in +0 -0
  157. {docvortex-0.3.0 → docvortex-0.4.0}/demo/README.md +0 -0
  158. {docvortex-0.3.0 → docvortex-0.4.0}/demo/demo.py +0 -0
  159. {docvortex-0.3.0 → docvortex-0.4.0}/demo/office_docs/README.md +0 -0
  160. {docvortex-0.3.0 → docvortex-0.4.0}/demo/office_docs/docx_01.doc +0 -0
  161. {docvortex-0.3.0 → docvortex-0.4.0}/demo/office_docs/docx_01.docx +0 -0
  162. {docvortex-0.3.0 → docvortex-0.4.0}/demo/office_docs/pptx_01.ppt +0 -0
  163. {docvortex-0.3.0 → docvortex-0.4.0}/demo/office_docs/pptx_01.pptx +0 -0
  164. {docvortex-0.3.0 → docvortex-0.4.0}/demo/office_docs/rtf_01.rtf +0 -0
  165. {docvortex-0.3.0 → docvortex-0.4.0}/demo/office_docs/xlsx_01.xls +0 -0
  166. {docvortex-0.3.0 → docvortex-0.4.0}/demo/office_docs/xlsx_01.xlsx +0 -0
  167. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs/2407.00079v4_origi-10.pdf +0 -0
  168. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs/IEBM_A_2667169_O-5.pdf +0 -0
  169. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs/caibao1.pdf +0 -0
  170. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs/demo1.pdf +0 -0
  171. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs/demo2.pdf +0 -0
  172. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs/demo3.pdf +0 -0
  173. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs/demo4.pdf +0 -0
  174. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs/demo6.pdf +0 -0
  175. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs/mixed_elements_pages_03_06.pdf +0 -0
  176. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs/mixed_elements_pages_07_10.pdf +0 -0
  177. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs/mixed_elements_pages_11_15.pdf +0 -0
  178. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs/mixed_elements_pages_39_40.pdf +0 -0
  179. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs/small_ocr.pdf +0 -0
  180. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs//344/270/255/346/226/207/350/256/272/346/226/207.pdf +0 -0
  181. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs//344/270/255/346/226/207/350/256/272/346/226/2072.pdf +0 -0
  182. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs//344/270/255/346/226/207/350/256/272/346/226/2073.pdf +0 -0
  183. {docvortex-0.3.0 → docvortex-0.4.0}/demo/pdfs//344/270/255/346/226/207/350/256/272/346/226/2074.pdf +0 -0
  184. {docvortex-0.3.0 → docvortex-0.4.0}/docs/HTML_PROTOCOL.md +0 -0
  185. {docvortex-0.3.0 → docvortex-0.4.0}/docs/JSON_PROTOCOL.md +0 -0
  186. {docvortex-0.3.0 → docvortex-0.4.0}/docs/METADATA.md +0 -0
  187. {docvortex-0.3.0 → docvortex-0.4.0}/docs/PDF_FONTS.md +0 -0
  188. {docvortex-0.3.0 → docvortex-0.4.0}/docs/RENDER_OWNERSHIP.md +0 -0
  189. {docvortex-0.3.0 → docvortex-0.4.0}/pyproject.toml +0 -0
  190. {docvortex-0.3.0 → docvortex-0.4.0}/schemas/middle-2.0.json +0 -0
  191. {docvortex-0.3.0 → docvortex-0.4.0}/schemas/model-2.0.json +0 -0
  192. {docvortex-0.3.0 → docvortex-0.4.0}/setup.cfg +0 -0
  193. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/__init__.py +0 -0
  194. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/__init__.py +0 -0
  195. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/__init__.py +0 -0
  196. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/_shared/__init__.py +0 -0
  197. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/_shared/markup/__init__.py +0 -0
  198. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/_shared/markup/anchors.py +0 -0
  199. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/_shared/markup/formula.py +0 -0
  200. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/_shared/markup/projector.py +0 -0
  201. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/_shared/markup/styles.py +0 -0
  202. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/_shared/mathml.py +0 -0
  203. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/_shared/xycut.py +0 -0
  204. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/csv.py +0 -0
  205. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/epub/__init__.py +0 -0
  206. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/epub/constants.py +0 -0
  207. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/epub/converter.py +0 -0
  208. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/epub/errors.py +0 -0
  209. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/epub/metadata.py +0 -0
  210. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/epub/package.py +0 -0
  211. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/epub/properties.py +0 -0
  212. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/html/anchors.py +0 -0
  213. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/html/constants.py +0 -0
  214. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/html/errors.py +0 -0
  215. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/html/metadata.py +0 -0
  216. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/html/selector.py +0 -0
  217. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/__init__.py +0 -0
  218. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/assembly.py +0 -0
  219. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/constants.py +0 -0
  220. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/converter.py +0 -0
  221. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/errors.py +0 -0
  222. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/geometry.py +0 -0
  223. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/metadata.py +0 -0
  224. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/models.py +0 -0
  225. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/package.py +0 -0
  226. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/path.py +0 -0
  227. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/reading_order.py +0 -0
  228. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/resources.py +0 -0
  229. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/scene.py +0 -0
  230. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/table.py +0 -0
  231. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/ofd/text.py +0 -0
  232. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/__init__.py +0 -0
  233. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/doc/__init__.py +0 -0
  234. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/doc/bookmarks.py +0 -0
  235. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/doc/doc_converter.py +0 -0
  236. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/doc/fib.py +0 -0
  237. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/doc/fields.py +0 -0
  238. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/doc/formatting.py +0 -0
  239. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/doc/images.py +0 -0
  240. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/doc/lists.py +0 -0
  241. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/doc/models.py +0 -0
  242. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/doc/parser.py +0 -0
  243. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/doc/pieces.py +0 -0
  244. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/doc/records.py +0 -0
  245. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/doc/sprm.py +0 -0
  246. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/doc/styles.py +0 -0
  247. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/docx/__init__.py +0 -0
  248. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/docx/docx_converter.py +0 -0
  249. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/docx/equationxml.py +0 -0
  250. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/docx/fields.py +0 -0
  251. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/docx/formatting_types.py +0 -0
  252. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/docx/main.py +0 -0
  253. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/docx/numbering.py +0 -0
  254. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/docx/office_xml.py +0 -0
  255. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/docx/package_normalizer.py +0 -0
  256. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/docx/resources.py +0 -0
  257. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/docx/styles.py +0 -0
  258. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/docx/tables.py +0 -0
  259. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/equation/__init__.py +0 -0
  260. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/equation/image.py +0 -0
  261. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/equation/latex_dict.py +0 -0
  262. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/equation/mtef.py +0 -0
  263. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/equation/mtef_v5.py +0 -0
  264. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/equation/omml.py +0 -0
  265. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/equation/ooxml.py +0 -0
  266. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/errors.py +0 -0
  267. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/legacy/__init__.py +0 -0
  268. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/legacy/binary.py +0 -0
  269. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/legacy/officeart.py +0 -0
  270. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/legacy/ole.py +0 -0
  271. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/limits.py +0 -0
  272. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/metadata.py +0 -0
  273. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/odf/__init__.py +0 -0
  274. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/odf/chart.py +0 -0
  275. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/odf/constants.py +0 -0
  276. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/odf/converters.py +0 -0
  277. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/odf/errors.py +0 -0
  278. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/odf/metadata.py +0 -0
  279. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/odf/models.py +0 -0
  280. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/odf/package.py +0 -0
  281. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/odf/styles.py +0 -0
  282. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/odf/table.py +0 -0
  283. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/ooxml_chart.py +0 -0
  284. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/opc.py +0 -0
  285. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/ppt/__init__.py +0 -0
  286. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/ppt/models.py +0 -0
  287. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/ppt/parser.py +0 -0
  288. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/ppt/ppt_converter.py +0 -0
  289. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/ppt/records.py +0 -0
  290. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/ppt/style_text.py +0 -0
  291. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/pptx/__init__.py +0 -0
  292. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/pptx/lists.py +0 -0
  293. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/pptx/main.py +0 -0
  294. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/pptx/package_normalizer.py +0 -0
  295. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/pptx/pptx_converter.py +0 -0
  296. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/pptx/resources.py +0 -0
  297. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/pptx/shapes.py +0 -0
  298. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/pptx/text_styles.py +0 -0
  299. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/pptx/titles.py +0 -0
  300. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/rich_text.py +0 -0
  301. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/rtf/__init__.py +0 -0
  302. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/rtf/converter.py +0 -0
  303. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/rtf/lexer.py +0 -0
  304. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/rtf/math.py +0 -0
  305. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/rtf/metadata.py +0 -0
  306. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/rtf/models.py +0 -0
  307. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/rtf/parser.py +0 -0
  308. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/spreadsheet/__init__.py +0 -0
  309. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/spreadsheet/html.py +0 -0
  310. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/spreadsheet/models.py +0 -0
  311. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/spreadsheet/projector.py +0 -0
  312. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/streams.py +0 -0
  313. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/xls/__init__.py +0 -0
  314. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/xls/chart.py +0 -0
  315. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/xls/embedded_chart.py +0 -0
  316. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/xls/models.py +0 -0
  317. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/xls/number_format.py +0 -0
  318. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/xls/parser.py +0 -0
  319. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/xls/records.py +0 -0
  320. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/xls/strings.py +0 -0
  321. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/xls/xls_converter.py +0 -0
  322. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/xlsx/__init__.py +0 -0
  323. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/xlsx/main.py +0 -0
  324. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/xlsx/ooxml_ole.py +0 -0
  325. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/xlsx/package_normalizer.py +0 -0
  326. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/office/xlsx/xlsx_converter.py +0 -0
  327. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/__init__.py +0 -0
  328. {docvortex-0.3.0/src/docvortex/analyzers/native/pdf/table_recovery → docvortex-0.4.0/src/docvortex/analyzers/native/pdf/_table_recovery}/__init__.py +0 -0
  329. {docvortex-0.3.0/src/docvortex/analyzers/native/pdf/table_recovery → docvortex-0.4.0/src/docvortex/analyzers/native/pdf/_table_recovery}/engine.py +0 -0
  330. {docvortex-0.3.0/src/docvortex/analyzers/native/pdf/table_recovery → docvortex-0.4.0/src/docvortex/analyzers/native/pdf/_table_recovery}/sparse_common.py +0 -0
  331. {docvortex-0.3.0/src/docvortex/analyzers/native/pdf/table_recovery → docvortex-0.4.0/src/docvortex/analyzers/native/pdf/_table_recovery}/text_grid.py +0 -0
  332. {docvortex-0.3.0/src/docvortex/analyzers/native/pdf/table_recovery → docvortex-0.4.0/src/docvortex/analyzers/native/pdf/_table_recovery}/vector.py +0 -0
  333. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/auxiliary_text.py +0 -0
  334. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/geometry.py +0 -0
  335. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/index_blocks.py +0 -0
  336. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/inline/__init__.py +0 -0
  337. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/inline/common.py +0 -0
  338. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/inline/types.py +0 -0
  339. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/table_annotations.py +0 -0
  340. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/table_constants.py +0 -0
  341. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/table_detection.py +0 -0
  342. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/table_geometry.py +0 -0
  343. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/table_rows.py +0 -0
  344. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/text_assembly/__init__.py +0 -0
  345. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/text_assembly/annotations.py +0 -0
  346. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/text_assembly/footnotes.py +0 -0
  347. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/text_assembly/merging.py +0 -0
  348. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/text_blocks.py +0 -0
  349. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/title_analysis/__init__.py +0 -0
  350. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/title_analysis/body_profile.py +0 -0
  351. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/title_analysis/common.py +0 -0
  352. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/title_analysis/document_profile.py +0 -0
  353. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/title_analysis/lane_titles.py +0 -0
  354. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/title_analysis/page_titles.py +0 -0
  355. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/title_analysis/prototype.py +0 -0
  356. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/title_analysis/structural.py +0 -0
  357. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/titles.py +0 -0
  358. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/typography.py +0 -0
  359. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/analyzers/native/pdf/visual_annotations.py +0 -0
  360. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/cli.py +0 -0
  361. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/codecs/__init__.py +0 -0
  362. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/codecs/html/__init__.py +0 -0
  363. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/codecs/html/contracts.py +0 -0
  364. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/codecs/html/materializer.py +0 -0
  365. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/codecs/html/parser.py +0 -0
  366. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/codecs/html/resources.py +0 -0
  367. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/codecs/json.py +0 -0
  368. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/__init__.py +0 -0
  369. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/markup/__init__.py +0 -0
  370. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/spans.py +0 -0
  371. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/table/__init__.py +0 -0
  372. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/table/blocks.py +0 -0
  373. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/table/content.py +0 -0
  374. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/table/document.py +0 -0
  375. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/table/models.py +0 -0
  376. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/table/structure.py +0 -0
  377. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/content/tree.py +0 -0
  378. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/__init__.py +0 -0
  379. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/detection.py +0 -0
  380. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/filetypes.py +0 -0
  381. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/page_range.py +0 -0
  382. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/font_runtime.py +0 -0
  383. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/pdfium.py +0 -0
  384. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/pdf/raster.py +0 -0
  385. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/document/properties.py +0 -0
  386. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/errors.py +0 -0
  387. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/export/__init__.py +0 -0
  388. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/export/files.py +0 -0
  389. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/foundation/__init__.py +0 -0
  390. docvortex-0.3.0/src/docvortex/foundation/geometry.py → docvortex-0.4.0/src/docvortex/foundation/_geometry.py +0 -0
  391. docvortex-0.3.0/src/docvortex/foundation/image_payload.py → docvortex-0.4.0/src/docvortex/foundation/_image_payload.py +1 -1
  392. /docvortex-0.3.0/src/docvortex/foundation/text.py → /docvortex-0.4.0/src/docvortex/foundation/_text.py +0 -0
  393. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/foundation/image_encoding.py +0 -0
  394. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/foundation/language.py +0 -0
  395. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/foundation/type_identity.py +0 -0
  396. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/foundation/xml_names.py +0 -0
  397. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/options.py +0 -0
  398. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/postprocess/__init__.py +0 -0
  399. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/postprocess/content.py +0 -0
  400. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/postprocess/document.py +0 -0
  401. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/postprocess/pages.py +0 -0
  402. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/postprocess/paragraphs.py +0 -0
  403. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/__init__.py +0 -0
  404. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/__init__.py +0 -0
  405. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/common/__init__.py +0 -0
  406. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/common/context.py +0 -0
  407. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/common/html_table.py +0 -0
  408. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/common/index.py +0 -0
  409. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/common/list_items.py +0 -0
  410. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/common/planner.py +0 -0
  411. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/docx/__init__.py +0 -0
  412. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/docx/inline.py +0 -0
  413. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/docx/math.py +0 -0
  414. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/docx/styles.py +0 -0
  415. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/docx/table.py +0 -0
  416. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/epub/__init__.py +0 -0
  417. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/epub/package.py +0 -0
  418. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/epub/renderer.py +0 -0
  419. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/html/__init__.py +0 -0
  420. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/html/inline.py +0 -0
  421. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/html/renderer.py +0 -0
  422. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/html/table.py +0 -0
  423. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/latex/__init__.py +0 -0
  424. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/latex/inline.py +0 -0
  425. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/latex/renderer.py +0 -0
  426. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/markdown/__init__.py +0 -0
  427. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/markdown/assets.py +0 -0
  428. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/markdown/blocks.py +0 -0
  429. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/markdown/escaping.py +0 -0
  430. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/markdown/inline.py +0 -0
  431. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/markdown/renderer.py +0 -0
  432. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/markdown/table.py +0 -0
  433. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/pdf/__init__.py +0 -0
  434. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/pdf/formula.py +0 -0
  435. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/pdf/inline.py +0 -0
  436. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/pdf/renderer.py +0 -0
  437. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/pdf/styles.py +0 -0
  438. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/structured_content/__init__.py +0 -0
  439. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/_internal/structured_content/renderer.py +0 -0
  440. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/api.py +0 -0
  441. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/contracts.py +0 -0
  442. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/docx.py +0 -0
  443. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/epub.py +0 -0
  444. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/fragments.py +0 -0
  445. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/html.py +0 -0
  446. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/latex.py +0 -0
  447. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/markdown.py +0 -0
  448. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/pdf.py +0 -0
  449. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/render/structured_content.py +0 -0
  450. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/resources/epub/docvortex.css +0 -0
  451. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/resources/fasttext-langdetect/lid.176.ftz +0 -0
  452. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/resources/fonts/DroidSansFallbackFull.ttf +0 -0
  453. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/resources/fonts/NOTICE +0 -0
  454. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/resources/fonts/manifest.json +0 -0
  455. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/resources/html/docvortex.css +0 -0
  456. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/resources/html/docvortex.min.css +0 -0
  457. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/result.py +0 -0
  458. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex/visualization.py +0 -0
  459. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex.egg-info/dependency_links.txt +0 -0
  460. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex.egg-info/entry_points.txt +0 -0
  461. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex.egg-info/requires.txt +0 -0
  462. {docvortex-0.3.0 → docvortex-0.4.0}/src/docvortex.egg-info/top_level.txt +0 -0
  463. {docvortex-0.3.0 → docvortex-0.4.0}/tests/benchmarks/pipeline.py +0 -0
  464. {docvortex-0.3.0 → docvortex-0.4.0}/tests/fixtures/flash_layout_block_expectations.json +0 -0
  465. {docvortex-0.3.0 → docvortex-0.4.0}/tests/fixtures/flash_layout_geometry_manifest.json +0 -0
  466. {docvortex-0.3.0 → docvortex-0.4.0}/tests/fixtures/flash_layout_semantic_expectations.json +0 -0
  467. {docvortex-0.3.0 → docvortex-0.4.0}/tests/fixtures/generate_synthetic_pdf_fixtures.py +0 -0
  468. {docvortex-0.3.0 → docvortex-0.4.0}/tests/fixtures/native_pdf_table_cross_page_manifest.json +0 -0
  469. {docvortex-0.3.0 → docvortex-0.4.0}/tests/fixtures/native_pdf_table_demo_manifest.json +0 -0
  470. {docvortex-0.3.0 → docvortex-0.4.0}/tests/fixtures/native_pdf_table_script_truth.json +0 -0
  471. {docvortex-0.3.0 → docvortex-0.4.0}/tests/fixtures/pdf_mixed_font_script_line.json +0 -0
  472. {docvortex-0.3.0 → docvortex-0.4.0}/tests/fixtures/rtf/semantic.rtf +0 -0
  473. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_architecture.py +0 -0
  474. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_benchmark_entrypoint.py +0 -0
  475. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_brand_protocol.py +0 -0
  476. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_document_envelope.py +0 -0
  477. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_format_matrix.py +0 -0
  478. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_html_namespace.py +0 -0
  479. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_pdf_font_geometry.py +0 -0
  480. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_pdf_font_runtime.py +0 -0
  481. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_pdf_model_text_normalization.py +0 -0
  482. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_pdf_output_text.py +0 -0
  483. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_pdf_render_pool.py +0 -0
  484. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_pdf_source_row_merging.py +0 -0
  485. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_public_pipeline.py +0 -0
  486. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_refactor_raster.py +0 -0
  487. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_refactor_rendering.py +0 -0
  488. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_refactor_resources.py +0 -0
  489. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_render_ownership.py +0 -0
  490. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_renderer_branding.py +0 -0
  491. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_system_font_pdf_pipeline.py +0 -0
  492. {docvortex-0.3.0 → docvortex-0.4.0}/tests/test_validated_geometry.py +0 -0
  493. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_docx_equationxml_test_utils.py +0 -0
  494. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_epub_test_utils.py +0 -0
  495. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_flash_pdf_test_utils.py +0 -0
  496. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_image_mtef_test_utils.py +0 -0
  497. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_legacy_doc_test_utils.py +0 -0
  498. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_legacy_ppt_test_utils.py +0 -0
  499. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_legacy_xls_test_utils.py +0 -0
  500. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_metafile_test_utils.py +0 -0
  501. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_mtef_test_utils.py +0 -0
  502. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_mtef_v5_test_utils.py +0 -0
  503. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_native_test_utils.py +0 -0
  504. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_odf_test_utils.py +0 -0
  505. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_ofd_test_utils.py +0 -0
  506. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_office_image_mtef_test_utils.py +0 -0
  507. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_ooxml_mtef_test_utils.py +0 -0
  508. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/_span_test_utils.py +0 -0
  509. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/flash_layout/mixed_text_layout_sample.pdf.xor +0 -0
  510. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/flash_table_annotations_synthetic.pdf +0 -0
  511. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/metabolic_pathway_page_3.pdf +0 -0
  512. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/native_cjk_layout_synthetic.pdf +0 -0
  513. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/native_pdf_tables/annual_report_fundraising_projects_table.pdf +0 -0
  514. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/native_pdf_tables/annual_report_management_roles_table.pdf +0 -0
  515. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/native_pdf_tables/annual_report_research_projects_table.pdf +0 -0
  516. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/native_pdf_tables/conference_schedule_tables.pdf +0 -0
  517. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/native_pdf_tables/engineering_process_restrictions_table.pdf +0 -0
  518. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/native_pdf_tables/fund_asset_and_transaction_tables.pdf +0 -0
  519. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/native_pdf_tables/fund_manager_profile_table.pdf +0 -0
  520. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/native_pdf_tables/manufacturing_facilities_cross_page_table.pdf +0 -0
  521. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/native_pdf_tables/pollutant_discharge_tables.pdf +0 -0
  522. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/native_pdf_tables/procurement_contract_tables.pdf +0 -0
  523. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/native_pdf_tables/procurement_document_blank_page_tables.pdf +0 -0
  524. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/native_pdf_tables/quarterly_report_financial_tables.pdf +0 -0
  525. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/pdfs/test.pdf +0 -0
  526. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_backend_architecture.py +0 -0
  527. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_backend_block_object_regressions.py +0 -0
  528. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_docx_assets.py +0 -0
  529. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_docx_complex_fields.py +0 -0
  530. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_docx_math.py +0 -0
  531. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_docx_render.py +0 -0
  532. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_docx_special_char_tables.py +0 -0
  533. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_docx_table.py +0 -0
  534. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_emfplus_integration.py +0 -0
  535. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_epub_backlinks.py +0 -0
  536. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_epub_quoted_note_types.py +0 -0
  537. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_csv.py +0 -0
  538. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_docx_equationxml.py +0 -0
  539. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_epub.py +0 -0
  540. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_image_mtef.py +0 -0
  541. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_legacy_chart_data.py +0 -0
  542. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_legacy_doc.py +0 -0
  543. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_legacy_doc_mtef.py +0 -0
  544. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_legacy_ppt.py +0 -0
  545. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_legacy_xls.py +0 -0
  546. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_legacy_xls_ppt_mtef.py +0 -0
  547. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_markup_anchors.py +0 -0
  548. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_mtef_v5.py +0 -0
  549. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_odf.py +0 -0
  550. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_ofd.py +0 -0
  551. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_office_image_mtef.py +0 -0
  552. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_office_models.py +0 -0
  553. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_office_mtef_v5.py +0 -0
  554. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_office_package_normalizers.py +0 -0
  555. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_office_title_types.py +0 -0
  556. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_ooxml_mtef.py +0 -0
  557. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_auxiliary_text.py +0 -0
  558. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_document_profile.py +0 -0
  559. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_extractor.py +0 -0
  560. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_index_blocks.py +0 -0
  561. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_line_metadata.py +0 -0
  562. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_native_text.py +0 -0
  563. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_text_blocks.py +0 -0
  564. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_titles.py +0 -0
  565. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_pdf_visual_annotations.py +0 -0
  566. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_rtf.py +0 -0
  567. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_shared_helpers.py +0 -0
  568. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_flash_spreadsheet_projector.py +0 -0
  569. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_guess_suffix_ole2.py +0 -0
  570. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_html_css_build.py +0 -0
  571. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_html_render.py +0 -0
  572. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_latex_render.py +0 -0
  573. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_markdown_render.py +0 -0
  574. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_middle_json_block_models.py +0 -0
  575. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_middle_json_export.py +0 -0
  576. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_middle_json_validator.py +0 -0
  577. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_model_json.py +0 -0
  578. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_native_pdf_table_manifest.py +0 -0
  579. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_native_pdf_table_pipeline.py +0 -0
  580. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_ofd_assembly.py +0 -0
  581. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_ofd_vector_tables.py +0 -0
  582. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_office_demo_exports.py +0 -0
  583. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_office_demo_pages.py +0 -0
  584. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_office_parser_regressions.py +0 -0
  585. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_pdf_render.py +0 -0
  586. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_pdf_render_diagnostics.py +0 -0
  587. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_postprocess_page_blocks.py +0 -0
  588. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_postprocess_pages.py +0 -0
  589. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_postprocess_paragraphs.py +0 -0
  590. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_postprocess_visual.py +0 -0
  591. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_render_api.py +0 -0
  592. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_render_html_table.py +0 -0
  593. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_render_image_renderer.py +0 -0
  594. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_render_list_index_utils.py +0 -0
  595. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_structured_content_render.py +0 -0
  596. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_table_merge.py +0 -0
  597. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_table_merge_cell_merge.py +0 -0
  598. {docvortex-0.3.0 → docvortex-0.4.0}/tests/unittest/test_text_block_anchor.py +0 -0
  599. {docvortex-0.3.0 → docvortex-0.4.0}/tools/__init__.py +0 -0
  600. {docvortex-0.3.0 → docvortex-0.4.0}/tools/build_html_css.py +0 -0
  601. {docvortex-0.3.0 → docvortex-0.4.0}/tools/calibrate_pdf_geometry.py +0 -0
  602. {docvortex-0.3.0 → docvortex-0.4.0}/tools/capture_baseline.py +0 -0
  603. {docvortex-0.3.0 → docvortex-0.4.0}/tools/capture_platform_layout.py +0 -0
  604. {docvortex-0.3.0 → docvortex-0.4.0}/tools/compare_font_platforms.py +0 -0
  605. {docvortex-0.3.0 → docvortex-0.4.0}/tools/font_geometry.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: docvortex
3
- Version: 0.3.0
3
+ Version: 0.4.0
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
@@ -215,3 +215,7 @@ All 15 native document formats support this API. Normal parsing also carries the
215
215
  DocVortex supports ordinary CPython 3.10–3.14. Physical text lines are joined by deterministic Unicode boundary rules, with URL and dehyphenation safeguards. Language detection models and the fast-langdetect / fasttext-predict dependencies are no longer required.
216
216
 
217
217
  The shared `resolve_text_line_boundary` and `merge_text_line_contents` helpers no longer accept `block_language`; `detect_lang` has been removed. Hosts should call the shared boundary helpers directly. OCR language selection and Magika code-language recognition are unchanged.
218
+
219
+ ## Public SDK and 0.4 migration
220
+
221
+ Geometry, document access, assets and regional PDF analysis have explicit public contracts. See [the SDK migration guide](docs/sdk-0.4.md). `docvortex.public_api.PUBLIC_API` lists supported cross-package modules and symbols. Replaced Python paths are removed in 0.4; document JSON and Bundle semantics are unchanged. Upgrade MinerU together, or constrain older hosts to `docvortex<0.4.0`.
@@ -162,3 +162,7 @@ All 15 native document formats support this API. Normal parsing also carries the
162
162
  DocVortex supports ordinary CPython 3.10–3.14. Physical text lines are joined by deterministic Unicode boundary rules, with URL and dehyphenation safeguards. Language detection models and the fast-langdetect / fasttext-predict dependencies are no longer required.
163
163
 
164
164
  The shared `resolve_text_line_boundary` and `merge_text_line_contents` helpers no longer accept `block_language`; `detect_lang` has been removed. Hosts should call the shared boundary helpers directly. OCR language selection and Magika code-language recognition are unchanged.
165
+
166
+ ## Public SDK and 0.4 migration
167
+
168
+ Geometry, document access, assets and regional PDF analysis have explicit public contracts. See [the SDK migration guide](docs/sdk-0.4.md). `docvortex.public_api.PUBLIC_API` lists supported cross-package modules and symbols. Replaced Python paths are removed in 0.4; document JSON and Bundle semantics are unchanged. Upgrade MinerU together, or constrain older hosts to `docvortex<0.4.0`.
@@ -0,0 +1,39 @@
1
+ # DocVortex 0.4 公共 SDK 与宿主迁移
2
+
3
+ MinerU 使用 `docvortex>=0.4.0,<0.5.0`。本轮调整 Python 模块边界,保持文档协议、解析路由、模型回退与渲染语义。
4
+
5
+ ## 公开入口
6
+
7
+ | 原入口或职责 | 新入口 |
8
+ | --- | --- |
9
+ | foundation 几何及 PDF 通用坐标原语 | `docvortex.geometry` |
10
+ | foundation 文本与链接规则 | `docvortex.content.text`、`docvortex.content.links` |
11
+ | 图像统计、素材编码与路径校验 | `docvortex.assets` |
12
+ | PDFDocument、PDFPage、字符和几何契约 | `docvortex.document.pdf` |
13
+ | HTML 来源上下文 | `docvortex.document.contracts.HtmlSourceContext` |
14
+ | 原生文字证据、区域表格及 OCR 文本投影 | `docvortex.analyzers.pdf` |
15
+ | 模型文本、坐标自动判断与虚拟 OCR token | MinerU PDF 分析层 |
16
+ | xhigh layout 容器补全 | MinerU PDF 分析层 |
17
+ | 推理平台支持判断 | MinerU model/runtime |
18
+
19
+ `docvortex.public_api.PUBLIC_API` 是静态模块及符号清单。新增跨库依赖必须同时更新清单、文档和契约测试;不能通过基础实现、私有模块或动态别名绕过边界。
20
+
21
+ ## 行为与资源所有权
22
+
23
+ `prepare_text_evidence` 返回具名的 `PDFTextEvidence`,`apply_text_evidence` 统一完成链接、样式、脚本与 InlineSpan 物化。MinerU 仍决定调用时机、公式排除区域、超大字符页和 OCR 回退。
24
+
25
+ `prepare_table_page` 仅在存在候选表格时调用;同页复用其物化数据。`recover_table_region` 返回最终 HTML、来源、置信度和诊断,`None` 表示没有可接受结果。结构恢复异常以 `PDFTableRecoveryError` 保留原始原因,交给宿主回退;HTML 物化异常继续传播,避免改变旧异常边界。页面几何可以复用,证据不持有 PDFium 裸句柄。
26
+
27
+ 通用 `convert_bbox` 显式声明 `unit`、`pixel` 或 `point`;`page_size` 使用 point,`render_scale` 是每 point 的像素数。模型 bbox 的自动解释与三位小数规则保留在 MinerU。共享 PDFium 锁、进程池和资源关闭职责仍归 DocVortex。
28
+
29
+ ## 升级与回退
30
+
31
+ 本轮直接删除被替代的旧门面及重导出,不提供过渡版本或旧 pickle 路径兼容。JSON、Bundle、HTTP API 和输出格式保持既有契约。
32
+
33
+ 配套升级两个 wheel;旧版 MinerU 必须显式约束 `docvortex<0.4.0`。旧版依赖上限 `<1` 无法阻止解析器选择 0.4,因此不要只升级 DocVortex。回退时同时恢复旧版 MinerU 与其兼容的 DocVortex。
34
+
35
+ ## 验证
36
+
37
+ `tools/validate_docvortex_boundary.py` 可对指定两仓库源码或当前安装包捕获真实 PDF 的中间协议与全部渲染。记录实际导入路径、样本 SHA256 和页数;比较时只允许忽略 DocVortex producer 版本、DOCX/EPUB 容器时间字段,以及经独立复算确认由 producer 版本派生的 EPUB 标识。
38
+
39
+ MinerU 的 `DocVortex boundary integration` 手动工作流接受未发布的 0.4 wheel URL,以及可选的 mineru-vl-utils 配套 wheel URL,在三种操作系统及 Python 3.10、3.13、3.14 上验证边界、协议和固定推理结果。DocVortex 自身 CI 验证独立安装与基础算法。配置工作流不代表已经通过远端 CI。
@@ -2,13 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from ....foundation.hyperlink import (
5
+ from ....foundation._hyperlink import (
6
6
  DEFAULT_EXTERNAL_HYPERLINK_SCHEMES,
7
7
  OFFICE_EXTERNAL_HYPERLINK_SCHEMES,
8
8
  sanitize_hyperlink_target,
9
9
  )
10
10
 
11
-
12
11
  __all__ = [
13
12
  "DEFAULT_EXTERNAL_HYPERLINK_SCHEMES",
14
13
  "OFFICE_EXTERNAL_HYPERLINK_SCHEMES",
@@ -0,0 +1,5 @@
1
+ """保留原有导入入口;共享实现由下层模块唯一维护。"""
2
+
3
+ from ....foundation.image_encoding import image_to_b64str, image_to_bytes
4
+
5
+ __all__ = ["image_to_b64str", "image_to_bytes"]
@@ -1,7 +1,5 @@
1
1
  """保留原有导入入口;共享实现由下层模块唯一维护。"""
2
2
 
3
- from docvortex.foundation.xml_names import (
4
- local_name as local_name,
5
- )
3
+ from ....foundation.xml_names import local_name
6
4
 
7
5
  __all__ = ["local_name"]
@@ -7,7 +7,7 @@ from typing import TYPE_CHECKING, Any, BinaryIO, Protocol, TypedDict
7
7
  from ...schema import BBox
8
8
 
9
9
  if TYPE_CHECKING:
10
- from ...document.pdf.document import _PDFPageSnapshot
10
+ from ...document.pdf._document import _PDFPageSnapshot
11
11
 
12
12
 
13
13
  class RawBlock(TypedDict, total=False):
@@ -5,12 +5,9 @@ from __future__ import annotations
5
5
  import base64
6
6
  from dataclasses import dataclass
7
7
 
8
- from lxml import html as lxml_html
9
8
  from lxml import etree # type: ignore[reportMissingImports]
9
+ from lxml import html as lxml_html
10
10
 
11
- from ....content.spans import normalize_span_dicts
12
- from ....foundation.image_payload import parse_image_data_uri_strict
13
- from .._shared.hyperlink import sanitize_hyperlink_target
14
11
  from docvortex.content.markup import (
15
12
  MarkupAnchorDocument,
16
13
  MarkupAnchorRegistry,
@@ -22,11 +19,23 @@ from docvortex.content.markup import (
22
19
  )
23
20
  from docvortex.content.markup.projector import (
24
21
  BLOCK_TAGS as _BLOCK_TAGS,
22
+ )
23
+ from docvortex.content.markup.projector import (
25
24
  SKIPPED_TAGS as _SKIPPED_TAGS,
25
+ )
26
+ from docvortex.content.markup.projector import (
26
27
  clean_text_node as _clean_text_node,
28
+ )
29
+ from docvortex.content.markup.projector import (
27
30
  entity_text as _entity_text,
31
+ )
32
+ from docvortex.content.markup.projector import (
28
33
  local_name as _local_name,
29
34
  )
35
+
36
+ from ....content.spans import normalize_span_dicts
37
+ from ....foundation._image_payload import parse_image_data_uri_strict
38
+ from .._shared.hyperlink import sanitize_hyperlink_target
30
39
  from .constants import IMAGE_MEDIA_BY_EXTENSION, SVG_MEDIA_TYPE
31
40
  from .package import EpubPackage
32
41
 
@@ -0,0 +1,5 @@
1
+ """HTML 静态 Flash 解析实现。"""
2
+
3
+ from .errors import HtmlParseError, HtmlResourceLimitError
4
+
5
+ __all__ = ["HtmlParseError", "HtmlResourceLimitError"]
@@ -8,17 +8,18 @@ from typing import Any, BinaryIO
8
8
 
9
9
  from loguru import logger
10
10
 
11
- from ....schema import BlockType
12
11
  from docvortex.content.markup import MarkupProjector, MarkupStylesheet
12
+ from docvortex.document.contracts import HtmlSourceContext
13
+
14
+ from ....codecs.html import decode_docvortex_html_wire
13
15
  from ....content.spans import text_spans
16
+ from ....schema import BlockType
14
17
  from .anchors import HtmlAnchorRegistry, append_referenced_notes
15
18
  from .constants import MAX_HTML_BYTES, MAX_HTML_RENDERED_BYTES
16
- from docvortex.document.contracts import HtmlSourceContext
17
19
  from .document import HtmlDocument, parse_html_document
18
20
  from .errors import HtmlResourceLimitError
19
21
  from .resources import HtmlResourceContext
20
22
  from .selector import select_auto_content
21
- from ....codecs.html import decode_docvortex_html_wire
22
23
 
23
24
 
24
25
  class HtmlConverter:
@@ -3,19 +3,20 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import codecs
6
+ import re
6
7
  from copy import deepcopy
7
8
  from dataclasses import dataclass
8
- import re
9
9
  from typing import Literal
10
10
 
11
- from lxml import etree, html as lxml_html # type: ignore[reportMissingImports]
11
+ from lxml import etree # type: ignore[reportMissingImports]
12
+ from lxml import html as lxml_html
12
13
 
13
14
  from docvortex.content.markup.formula import FormulaExtraction, extract_formula, is_tex_script
14
15
  from docvortex.content.markup.projector import local_name
15
- from .constants import MAX_HTML_BYTES, MAX_HTML_DEPTH, MAX_HTML_NODES
16
16
  from docvortex.document.contracts import HtmlSourceContext
17
- from .errors import HtmlParseError, HtmlResourceLimitError
18
17
 
18
+ from .constants import MAX_HTML_BYTES, MAX_HTML_DEPTH, MAX_HTML_NODES
19
+ from .errors import HtmlParseError, HtmlResourceLimitError
19
20
 
20
21
  _ACTIVE_TAGS = frozenset(
21
22
  {
@@ -9,19 +9,19 @@ from urllib.parse import SplitResult, unquote, urljoin, urlsplit, urlunsplit
9
9
 
10
10
  from lxml import etree # type: ignore[reportMissingImports]
11
11
 
12
- from ....foundation.image_payload import parse_image_data_uri_strict, validate_remote_image_url
13
- from .._shared.hyperlink import sanitize_hyperlink_target
14
12
  from docvortex.content.markup import ResolvedMarkupImage
13
+ from docvortex.document.contracts import HtmlSourceContext
14
+
15
+ from ....foundation._image_payload import parse_image_data_uri_strict, validate_remote_image_url
16
+ from .._shared.hyperlink import sanitize_hyperlink_target
15
17
  from .constants import (
16
18
  MAX_HTML_IMAGE_BYTES,
17
19
  MAX_HTML_IMAGE_TOTAL_BYTES,
18
20
  MAX_HTML_STYLESHEET_BYTES,
19
21
  MAX_HTML_STYLESHEET_TOTAL_BYTES,
20
22
  )
21
- from docvortex.document.contracts import HtmlSourceContext
22
23
  from .errors import HtmlResourceLimitError
23
24
 
24
-
25
25
  _IMAGE_MIME_SIGNATURES: tuple[tuple[str, tuple[bytes, ...]], ...] = (
26
26
  ("image/jpeg", (b"\xff\xd8\xff",)),
27
27
  ("image/png", (b"\x89PNG\r\n\x1a\n",)),
@@ -7,7 +7,7 @@ from typing import TYPE_CHECKING, Any, BinaryIO
7
7
  from docvortex.document.contracts import HtmlSourceContext
8
8
 
9
9
  if TYPE_CHECKING:
10
- from ...document.pdf.document import PDFDocument
10
+ from ...document.pdf._document import PDFDocument
11
11
 
12
12
 
13
13
  class PdfModel:
@@ -15,8 +15,8 @@ class PdfModel:
15
15
 
16
16
  def predict(self, pdf_doc: PDFDocument) -> list[list[dict[str, Any]]]:
17
17
  """分析调用方持有的 PDFDocument,在所有文字匹配结束后统一输出可见英数。"""
18
- from .pdf import pipeline
19
18
  from ...content import normalize_pdf_model_text
19
+ from .pdf import pipeline
20
20
 
21
21
  pages = pipeline._analyze_native_document(pdf_doc)
22
22
  normalize_pdf_model_text(pages)
@@ -6,12 +6,12 @@ import math
6
6
  from io import BytesIO
7
7
 
8
8
  from loguru import logger
9
- from PIL import Image, UnidentifiedImageError
10
9
  from lxml import etree # type: ignore[reportMissingImports]
10
+ from PIL import Image, UnidentifiedImageError
11
11
 
12
- from docvortex.foundation.image_encoding import image_to_b64str
12
+ from ....foundation._image_payload import validate_decoded_raster_size
13
+ from ....foundation.image_encoding import image_to_b64str
13
14
  from ....schema import BBox
14
- from ....foundation.image_payload import validate_decoded_raster_size
15
15
  from .errors import OfdParseError
16
16
  from .geometry import Affine, bbox_intersection, canonical_angle, parse_affine, parse_st_box, transform_angle, transform_bbox
17
17
  from .models import ImageItem, ResourceRegistry
@@ -10,11 +10,11 @@ from xml.etree import ElementTree as ET
10
10
  from lxml import etree
11
11
  from PIL import Image, ImageChops
12
12
 
13
- from ....foundation.image_payload import MAX_DECODED_RASTER_DIMENSION, MAX_DECODED_RASTER_PIXELS
13
+ from ....foundation._image_payload import MAX_DECODED_RASTER_DIMENSION, MAX_DECODED_RASTER_PIXELS
14
14
  from ....schema import BBox
15
15
  from .constants import MAX_ENTRY_BYTES
16
16
  from .errors import OfdResourceLimitError
17
- from .geometry import Affine, bbox_intersection, parse_affine, parse_st_box, transform_bbox, parse_numbers
17
+ from .geometry import Affine, bbox_intersection, parse_affine, parse_numbers, parse_st_box, transform_bbox
18
18
  from .models import OfdPageScene
19
19
  from .package import OfdPackage, element_text, first_child, local_name
20
20
  from .path import OfdPathBudget, PathCommand, parse_path_commands
@@ -3,9 +3,11 @@
3
3
  from dataclasses import dataclass, field
4
4
  from pathlib import Path
5
5
  from typing import Final, Optional, TypeAlias, Union
6
+
6
7
  from pydantic import AnyUrl
8
+
9
+ from .....foundation.type_identity import preserve_type_module
7
10
  from .formatting_types import Formatting
8
- from docvortex.foundation.type_identity import preserve_type_module
9
11
 
10
12
  _ParagraphHyperlink: TypeAlias = Optional[Union[AnyUrl, Path, str]]
11
13
  _ParagraphElement: TypeAlias = tuple[str, Optional[Formatting], _ParagraphHyperlink]
@@ -11,7 +11,7 @@ from loguru import logger
11
11
  from metafile_render import MetafileError, MetafileResourceLimitError, render_metafile
12
12
  from PIL import Image, ImageDraw, ImageFont, UnidentifiedImageError
13
13
 
14
- from docvortex.foundation.image_encoding import image_to_b64str
14
+ from ....foundation.image_encoding import image_to_b64str
15
15
 
16
16
  VECTOR_IMAGE_FORMATS = frozenset({"WMF", "EMF"})
17
17
  VECTOR_IMAGE_EXTENSIONS = frozenset({".wmf", ".emf"})
@@ -11,8 +11,8 @@ from typing import Any
11
11
 
12
12
  from lxml import etree # type: ignore[reportMissingImports]
13
13
 
14
- from .....schema import BlockType
15
- from ..._shared.hyperlink import sanitize_hyperlink_target
14
+ from docvortex.content.mathml import mathml_to_latex
15
+
16
16
  from .....content.spans import (
17
17
  append_equation_span,
18
18
  append_text_span,
@@ -20,8 +20,9 @@ from .....content.spans import (
20
20
  inline_span_plain_text,
21
21
  strip_span_dicts,
22
22
  )
23
- from docvortex.content.mathml import mathml_to_latex
24
- from docvortex.foundation.image_encoding import image_to_b64str
23
+ from .....foundation.image_encoding import image_to_b64str
24
+ from .....schema import BlockType
25
+ from ..._shared.hyperlink import sanitize_hyperlink_target
25
26
  from ..image import create_text_placeholder, serialize_office_image
26
27
  from ..rich_text import OfficeRichTextSegment, build_rich_text_from_segments
27
28
  from .chart import parse_chart_block
@@ -32,7 +33,6 @@ from .package import OdfPackage
32
33
  from .styles import OdfStyles
33
34
  from .table import OdfTableExpansionBudget, parse_table_grid, table_grid_to_html
34
35
 
35
-
36
36
  _WHITESPACE_RE = re.compile(r"[\t\r\n ]+")
37
37
  _MAX_EXPLICIT_SPACE_COUNT = 10_000
38
38
 
@@ -2,9 +2,10 @@
2
2
 
3
3
  from dataclasses import dataclass
4
4
  from typing import Any, Final, Optional
5
+
5
6
  from pptx.enum.shapes import PP_PLACEHOLDER
6
- from docvortex.foundation.type_identity import preserve_type_module
7
7
 
8
+ from .....foundation.type_identity import preserve_type_module
8
9
 
9
10
  IGNORED_NOTES_PLACEHOLDER_TYPES: Final = {
10
11
  PP_PLACEHOLDER.SLIDE_IMAGE,
@@ -7,11 +7,9 @@ import statistics
7
7
  from dataclasses import dataclass
8
8
  from typing import Any, Literal
9
9
 
10
- from ....document.pdf.text.contracts import Char
11
-
10
+ from ....document.pdf.text._contracts import Char
12
11
  from ....schema import BBox
13
12
 
14
-
15
13
  SCRIPT_BODY_COMPARABLE_HEIGHT_RATIO = 0.9
16
14
  SCRIPT_BASELINE_ABSOLUTE_TOLERANCE = 0.35
17
15
  SCRIPT_BASELINE_LOOSE_HEIGHT_RATIO = 0.04
@@ -8,7 +8,6 @@ from collections.abc import Callable
8
8
  from dataclasses import dataclass
9
9
 
10
10
  from .....schema import BBox
11
-
12
11
  from .contracts import NativeTableCandidate, NativeTableCandidateSource, NativeTableCell, NativeTableGlyph, NativeTableText
13
12
  from .geometry import bbox_center
14
13
  from .text import build_cell_text, glyph_overlap_ratio
@@ -5,8 +5,7 @@ from __future__ import annotations
5
5
  from dataclasses import dataclass, field
6
6
  from typing import Literal
7
7
 
8
- from .....document.pdf.text.contracts import Char
9
-
8
+ from .....document.pdf.text._contracts import Char
10
9
  from .....schema import BBox
11
10
 
12
11
  NativeTableCandidateSource = Literal[
@@ -19,6 +18,10 @@ NativeTableCandidateSource = Literal[
19
18
  ]
20
19
 
21
20
 
21
+ class PDFTableRecoveryError(RuntimeError):
22
+ """标记结构恢复阶段的失败,供宿主区分可回退错误与 HTML 物化异常。"""
23
+
24
+
22
25
  @dataclass(frozen=True, slots=True)
23
26
  class NativeTableRule:
24
27
  """保存页面坐标中的一条可见横线或竖线。"""
@@ -5,7 +5,7 @@ from __future__ import annotations
5
5
  from collections.abc import Iterable
6
6
 
7
7
  from .....schema import BBox
8
- from ..table_geometry import normalize_bbox as normalize_bbox, rotate_local_bbox as rotate_local_bbox
8
+ from ..table_geometry import normalize_bbox, rotate_local_bbox
9
9
 
10
10
 
11
11
  def normalize_angle(value: object) -> int:
@@ -8,10 +8,10 @@ from collections import Counter
8
8
  from dataclasses import dataclass
9
9
  from typing import Any
10
10
 
11
- from .sparse_common import _LocalRule, _local_rules, cluster_members
12
11
  from .candidate import GridCellSpec, build_candidate
13
12
  from .contracts import NativeTableCandidate, NativeTableInput, NativeTableText, NativeTableTextRow
14
13
  from .geometry import covered_interval_ratio, normalize_angle, normalize_bbox, page_bbox_to_table_local, table_local_size
14
+ from .sparse_common import _local_rules, _LocalRule, cluster_members
15
15
 
16
16
  MIN_COLUMN_SUPPORT = 0.60
17
17
  MIN_OVERALL_ANCHOR_SUPPORT = 0.80
@@ -8,10 +8,10 @@ from collections import Counter
8
8
  from dataclasses import dataclass
9
9
  from typing import Any
10
10
 
11
- from .sparse_common import _LocalRule, _local_rules, cluster_members
12
11
  from .candidate import GridCellSpec, build_candidate
13
12
  from .contracts import NativeTableCandidate, NativeTableGlyph, NativeTableInput, NativeTableText, NativeTableTextRow
14
13
  from .geometry import covered_interval_ratio, normalize_angle, normalize_bbox, page_bbox_to_table_local, table_local_size
14
+ from .sparse_common import _local_rules, _LocalRule, cluster_members
15
15
 
16
16
  MIN_MULTILINE_RELIABILITY = 0.98
17
17
 
@@ -6,12 +6,10 @@ import statistics
6
6
  import unicodedata
7
7
  from dataclasses import dataclass
8
8
 
9
- from .....document.pdf.text.contracts import Char
10
-
9
+ from .....document.pdf.text._contracts import Char
10
+ from .....foundation._text import resolve_text_line_boundary
11
11
  from .....schema import BBox
12
- from .....foundation.text import resolve_text_line_boundary
13
12
  from ..spatial_text import _normalize_table_text
14
-
15
13
  from .contracts import NativeTableGlyph, NativeTableInput, NativeTableText, NativeTableTextRow, NativeTableToken
16
14
  from .geometry import bbox_center, bbox_intersection, bbox_union, normalize_angle, normalize_bbox, page_bbox_to_table_local
17
15
 
@@ -11,13 +11,13 @@ from dataclasses import dataclass, field
11
11
  from functools import lru_cache
12
12
  from typing import Any, Literal, Sequence, TypeAlias
13
13
 
14
+ from ....document.pdf._document import PDFPageTextGeometry
14
15
  from ....schema import BBox
15
- from ....document.pdf.document import PDFPageTextGeometry
16
16
  from .geometry import (
17
- _clip_validated_bbox,
18
17
  _bbox_axis_overlap_ratio,
19
18
  _bbox_union_many,
20
19
  _clip_bbox,
20
+ _clip_validated_bbox,
21
21
  _coerce_bbox,
22
22
  _rotate_bbox_from_upright,
23
23
  _rotate_bbox_to_upright,
@@ -25,7 +25,6 @@ from .geometry import (
25
25
  )
26
26
  from .models import _LineItem
27
27
 
28
-
29
28
  X_RELIABLE_PAIR_MIN = 30
30
29
  X_STRONG_MEDIAN_RATIO = 1.30
31
30
  X_STRONG_RATIO_THRESHOLD = 1.35
@@ -7,10 +7,8 @@ import statistics
7
7
  import unicodedata
8
8
  from typing import Any
9
9
 
10
- from .spatial_text import project_pdf_spatial_text
10
+ from ....document.pdf._document import PDFPathInfo
11
11
  from ....schema import BBox
12
- from ....document.pdf.document import PDFPathInfo
13
-
14
12
  from .geometry import (
15
13
  _bbox_area,
16
14
  _bbox_center_x,
@@ -21,7 +19,7 @@ from .geometry import (
21
19
  )
22
20
  from .models import _CodeCandidate, _LineItem, _PageSource
23
21
  from .native_text import _sanitize_pdf_control_text
24
-
22
+ from .spatial_text import project_pdf_spatial_text
25
23
 
26
24
  _MONOSPACE_FONT_HINTS = (
27
25
  "mono",
@@ -8,12 +8,9 @@ import unicodedata
8
8
  from dataclasses import dataclass, replace
9
9
  from typing import Any
10
10
 
11
-
11
+ from ....document.pdf._document import PDFPathInfo
12
+ from ....foundation._text import build_tagged_formula_content
12
13
  from ....schema import BBox
13
- from ....document.pdf.document import PDFPathInfo
14
- from ....foundation.text import build_tagged_formula_content
15
-
16
- from .models import _AxisLine, _FormulaAnchor, _LineItem, _PageSource, _TextLane
17
14
  from .geometry import (
18
15
  _bbox_axis_overlap_ratio,
19
16
  _bbox_center_x,
@@ -30,7 +27,6 @@ from .geometry import (
30
27
  _rotate_bbox_to_upright,
31
28
  _transform_axis_lines,
32
29
  )
33
- from .native_text import _sanitize_pdf_control_text
34
30
  from .line_layout import (
35
31
  _connection_crosses_table,
36
32
  _infer_text_lanes,
@@ -40,7 +36,8 @@ from .line_layout import (
40
36
  _lines_tight_output_bbox,
41
37
  )
42
38
  from .line_merging import _join_formula_visual_row, _merge_overlapping_inline_cluster
43
-
39
+ from .models import _AxisLine, _FormulaAnchor, _LineItem, _PageSource, _TextLane
40
+ from .native_text import _sanitize_pdf_control_text
44
41
 
45
42
  _FORMULA_NUMBER_SUFFIX_RE = re.compile(r"^(?P<prefix>.*?)(?P<marker>[((﹙][^()()﹙﹚\r\n]+[))﹚])\s*$")
46
43
  _FORMULA_NUMBER_MARKER_RE = re.compile(
@@ -2,17 +2,14 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from dataclasses import replace
6
5
  import math
7
6
  import re
8
7
  import statistics
8
+ from dataclasses import replace
9
9
  from typing import Any
10
10
 
11
-
11
+ from ....document.pdf._document import PDFPathInfo
12
12
  from ....schema import BBox
13
- from ....document.pdf.document import PDFPathInfo
14
-
15
- from .models import _AxisLine, _GraphicCandidate, _LineItem, _PageSource, _TextLane
16
13
  from .geometry import (
17
14
  _bbox_area,
18
15
  _bbox_axis_overlap_ratio,
@@ -29,10 +26,10 @@ from .geometry import (
29
26
  _point_in_bbox,
30
27
  _rotate_bbox_to_upright,
31
28
  )
32
- from .native_text import _fill_native_typography, _normalize_native_run_text, _sanitize_pdf_control_text
33
29
  from .line_layout import _infer_text_lanes, _line_effective_height
34
30
  from .line_merging import _join_formula_visual_row
35
-
31
+ from .models import _AxisLine, _GraphicCandidate, _LineItem, _PageSource, _TextLane
32
+ from .native_text import _fill_native_typography, _normalize_native_run_text, _sanitize_pdf_control_text
36
33
 
37
34
  _MIN_RASTER_IMAGE_PAGE_AREA_RATIO = 0.0038
38
35
 
@@ -6,8 +6,8 @@ import math
6
6
  import statistics
7
7
  from typing import Any, Sequence
8
8
 
9
+ from .....document.pdf._document import PDFLinkAnnotation
9
10
  from .....schema import BBox
10
- from .....document.pdf.document import PDFLinkAnnotation
11
11
  from .common import (
12
12
  _bbox_intersection_area,
13
13
  _canonical_styles,
@@ -7,8 +7,8 @@ from typing import TYPE_CHECKING, Any, Sequence
7
7
 
8
8
  from loguru import logger
9
9
 
10
+ from .....foundation._text import is_hyphen_at_line_end
10
11
  from .....schema import BBox
11
- from .....foundation.text import is_hyphen_at_line_end
12
12
 
13
13
  if TYPE_CHECKING:
14
14
  from ..models import _LineItem
@@ -5,7 +5,6 @@ from __future__ import annotations
5
5
  import re
6
6
  from typing import Any, Sequence
7
7
 
8
- from .....schema import BBox
9
8
  from .....content.spans import (
10
9
  append_equation_span,
11
10
  append_hyperlink_span,
@@ -13,6 +12,7 @@ from .....content.spans import (
13
12
  extend_inline_spans,
14
13
  normalize_span_dicts,
15
14
  )
15
+ from .....schema import BBox
16
16
  from .common import _canonical_styles
17
17
  from .matching import (
18
18
  _assign_lines_to_blocks,
@@ -455,3 +455,19 @@ __all__ = [
455
455
  "_parse_native_script_markup",
456
456
  "materialize_pdf_inline_spans",
457
457
  ]
458
+
459
+
460
+ def apply_pdf_inline_evidence(
461
+ blocks: list[dict[str, Any]],
462
+ link_lines: list[PDFTextLinkLine],
463
+ style_lines: list[PDFTextStyleLine],
464
+ script_lines: list[PDFTextScriptLine],
465
+ page_size: tuple[float, float],
466
+ *,
467
+ materialized_diagnostics: list[dict[str, Any]] | None = None,
468
+ ) -> None:
469
+ """在调用方已有页面准备之后统一执行行内语义物化顺序。"""
470
+ apply_pdf_text_links(blocks, link_lines, page_size)
471
+ apply_pdf_text_styles(blocks, style_lines, page_size)
472
+ apply_pdf_text_scripts(blocks, script_lines, page_size, materialized_diagnostics=materialized_diagnostics)
473
+ materialize_pdf_inline_spans(blocks)
@@ -7,8 +7,8 @@ import unicodedata
7
7
  from typing import Any, Literal, Sequence
8
8
 
9
9
  from .....schema import BBox
10
+ from .._script_geometry import ScriptRole, classify_char_script_roles
10
11
  from ..geometry import _rotate_bbox_to_upright
11
- from ..script_geometry import ScriptRole, classify_char_script_roles
12
12
  from .common import _coerce_bbox, _normalize_match_fragment, _ordered_line_chars
13
13
  from .types import (
14
14
  _PDF_SCRIPT_AUTHOR_MARKS,