yomitoku 0.9.3__tar.gz → 0.9.4__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 (183) hide show
  1. {yomitoku-0.9.3 → yomitoku-0.9.4}/PKG-INFO +1 -1
  2. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/cli/main.py +2 -0
  3. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/export/export_csv.py +17 -0
  4. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/utils/searchable_pdf.py +0 -2
  5. {yomitoku-0.9.3 → yomitoku-0.9.4}/.github/FUNDING.yml +0 -0
  6. {yomitoku-0.9.3 → yomitoku-0.9.4}/.github/release-drafter.yml +0 -0
  7. {yomitoku-0.9.3 → yomitoku-0.9.4}/.github/workflows/build-and-publish-docs.yaml +0 -0
  8. {yomitoku-0.9.3 → yomitoku-0.9.4}/.github/workflows/build-and-publish.yml +0 -0
  9. {yomitoku-0.9.3 → yomitoku-0.9.4}/.github/workflows/create-release.yml +0 -0
  10. {yomitoku-0.9.3 → yomitoku-0.9.4}/.github/workflows/lint-and-test.yml +0 -0
  11. {yomitoku-0.9.3 → yomitoku-0.9.4}/.gitignore +0 -0
  12. {yomitoku-0.9.3 → yomitoku-0.9.4}/.pre-commit-config.yaml +0 -0
  13. {yomitoku-0.9.3 → yomitoku-0.9.4}/.python-version +0 -0
  14. {yomitoku-0.9.3 → yomitoku-0.9.4}/README.md +0 -0
  15. {yomitoku-0.9.3 → yomitoku-0.9.4}/README_EN.md +0 -0
  16. {yomitoku-0.9.3 → yomitoku-0.9.4}/configs/yomitoku-layout-parser-rtdtrv2-open-beta.yaml +0 -0
  17. {yomitoku-0.9.3 → yomitoku-0.9.4}/configs/yomitoku-table-structure-recognizer-rtdtrv2-open-beta.yaml +0 -0
  18. {yomitoku-0.9.3 → yomitoku-0.9.4}/configs/yomitoku-text-detector-dbnet-open-beta.yaml +0 -0
  19. {yomitoku-0.9.3 → yomitoku-0.9.4}/configs/yomitoku-text-recognizer-parseq-open-beta.yaml +0 -0
  20. {yomitoku-0.9.3 → yomitoku-0.9.4}/configs/yomitoku-text-recognizer-parseq-small-open-beta.yaml +0 -0
  21. {yomitoku-0.9.3 → yomitoku-0.9.4}/demo/sample.pdf +0 -0
  22. {yomitoku-0.9.3 → yomitoku-0.9.4}/demo/setting_document_anaysis.py +0 -0
  23. {yomitoku-0.9.3 → yomitoku-0.9.4}/demo/simple_document_analysis.py +0 -0
  24. {yomitoku-0.9.3 → yomitoku-0.9.4}/demo/simple_layout.py +0 -0
  25. {yomitoku-0.9.3 → yomitoku-0.9.4}/demo/simple_ocr.py +0 -0
  26. {yomitoku-0.9.3 → yomitoku-0.9.4}/demo/text_detector.yaml +0 -0
  27. {yomitoku-0.9.3 → yomitoku-0.9.4}/dockerfile +0 -0
  28. {yomitoku-0.9.3 → yomitoku-0.9.4}/docs/assets/logo.svg +0 -0
  29. {yomitoku-0.9.3 → yomitoku-0.9.4}/docs/cli.en.md +0 -0
  30. {yomitoku-0.9.3 → yomitoku-0.9.4}/docs/cli.ja.md +0 -0
  31. {yomitoku-0.9.3 → yomitoku-0.9.4}/docs/configuration.en.md +0 -0
  32. {yomitoku-0.9.3 → yomitoku-0.9.4}/docs/configuration.ja.md +0 -0
  33. {yomitoku-0.9.3 → yomitoku-0.9.4}/docs/index.en.md +0 -0
  34. {yomitoku-0.9.3 → yomitoku-0.9.4}/docs/index.ja.md +0 -0
  35. {yomitoku-0.9.3 → yomitoku-0.9.4}/docs/installation.en.md +0 -0
  36. {yomitoku-0.9.3 → yomitoku-0.9.4}/docs/installation.ja.md +0 -0
  37. {yomitoku-0.9.3 → yomitoku-0.9.4}/docs/mcp.en.md +0 -0
  38. {yomitoku-0.9.3 → yomitoku-0.9.4}/docs/mcp.ja.md +0 -0
  39. {yomitoku-0.9.3 → yomitoku-0.9.4}/docs/module.en.md +0 -0
  40. {yomitoku-0.9.3 → yomitoku-0.9.4}/docs/module.ja.md +0 -0
  41. {yomitoku-0.9.3 → yomitoku-0.9.4}/gallery.md +0 -0
  42. {yomitoku-0.9.3 → yomitoku-0.9.4}/mkdocs.yml +0 -0
  43. {yomitoku-0.9.3 → yomitoku-0.9.4}/pyproject.toml +0 -0
  44. {yomitoku-0.9.3 → yomitoku-0.9.4}/pytest.ini +0 -0
  45. {yomitoku-0.9.3 → yomitoku-0.9.4}/scripts/register_hugging_face_hub.py +0 -0
  46. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/__init__.py +0 -0
  47. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/base.py +0 -0
  48. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/cli/__init__.py +0 -0
  49. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/cli/mcp_server.py +0 -0
  50. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/configs/__init__.py +0 -0
  51. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/configs/cfg_layout_parser_rtdtrv2.py +0 -0
  52. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/configs/cfg_layout_parser_rtdtrv2_v2.py +0 -0
  53. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/configs/cfg_table_structure_recognizer_rtdtrv2.py +0 -0
  54. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/configs/cfg_text_detector_dbnet.py +0 -0
  55. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/configs/cfg_text_detector_dbnet_v2.py +0 -0
  56. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/configs/cfg_text_recognizer_parseq.py +0 -0
  57. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/configs/cfg_text_recognizer_parseq_small.py +0 -0
  58. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/configs/cfg_text_recognizer_parseq_v2.py +0 -0
  59. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/constants.py +0 -0
  60. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/data/__init__.py +0 -0
  61. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/data/dataset.py +0 -0
  62. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/data/functions.py +0 -0
  63. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/document_analyzer.py +0 -0
  64. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/export/__init__.py +0 -0
  65. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/export/export_html.py +0 -0
  66. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/export/export_json.py +0 -0
  67. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/export/export_markdown.py +0 -0
  68. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/layout_analyzer.py +0 -0
  69. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/layout_parser.py +0 -0
  70. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/models/__init__.py +0 -0
  71. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/models/dbnet_plus.py +0 -0
  72. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/models/layers/__init__.py +0 -0
  73. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/models/layers/activate.py +0 -0
  74. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/models/layers/dbnet_feature_attention.py +0 -0
  75. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/models/layers/parseq_transformer.py +0 -0
  76. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/models/layers/rtdetr_backbone.py +0 -0
  77. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/models/layers/rtdetr_hybrid_encoder.py +0 -0
  78. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/models/layers/rtdetrv2_decoder.py +0 -0
  79. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/models/parseq.py +0 -0
  80. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/models/rtdetr.py +0 -0
  81. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/ocr.py +0 -0
  82. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/onnx/.gitkeep +0 -0
  83. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/postprocessor/__init__.py +0 -0
  84. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/postprocessor/dbnet_postporcessor.py +0 -0
  85. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/postprocessor/parseq_tokenizer.py +0 -0
  86. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/postprocessor/rtdetr_postprocessor.py +0 -0
  87. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/reading_order.py +0 -0
  88. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/resource/MPLUS1p-Medium.ttf +0 -0
  89. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/resource/charset.txt +0 -0
  90. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/table_structure_recognizer.py +0 -0
  91. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/text_detector.py +0 -0
  92. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/text_recognizer.py +0 -0
  93. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/utils/__init__.py +0 -0
  94. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/utils/graph.py +0 -0
  95. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/utils/logger.py +0 -0
  96. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/utils/misc.py +0 -0
  97. {yomitoku-0.9.3 → yomitoku-0.9.4}/src/yomitoku/utils/visualizer.py +0 -0
  98. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/in/demo.jpg +0 -0
  99. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/in/gallery1.jpg +0 -0
  100. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/in/gallery2.jpg +0 -0
  101. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/in/gallery3.jpg +0 -0
  102. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/in/gallery4.jpg +0 -0
  103. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/in/gallery5.jpg +0 -0
  104. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/in/gallery6.jpg +0 -0
  105. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/in/gallery7.jpeg +0 -0
  106. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/logo/horizontal.png +0 -0
  107. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/demo_html.png +0 -0
  108. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_demo_p1_figure_0.png +0 -0
  109. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery1_p1_figure_0.png +0 -0
  110. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery1_p1_figure_1.png +0 -0
  111. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery1_p1_figure_10.png +0 -0
  112. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery1_p1_figure_2.png +0 -0
  113. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery1_p1_figure_3.png +0 -0
  114. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery1_p1_figure_4.png +0 -0
  115. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery1_p1_figure_5.png +0 -0
  116. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery1_p1_figure_6.png +0 -0
  117. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery1_p1_figure_7.png +0 -0
  118. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery1_p1_figure_8.png +0 -0
  119. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery1_p1_figure_9.png +0 -0
  120. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery3_p1_figure_0.png +0 -0
  121. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery3_p1_figure_1.png +0 -0
  122. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery5_p1_figure_0.png +0 -0
  123. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery5_p1_figure_1.png +0 -0
  124. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery6_p1_figure_0.png +0 -0
  125. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery6_p1_figure_1.png +0 -0
  126. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/figures/in_gallery7_p1_figure_0.png +0 -0
  127. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_demo_p1.html +0 -0
  128. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_demo_p1.md +0 -0
  129. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_demo_p1_layout.jpg +0 -0
  130. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_demo_p1_ocr.jpg +0 -0
  131. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery1_p1.html +0 -0
  132. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery1_p1.md +0 -0
  133. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery1_p1_layout.jpg +0 -0
  134. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery1_p1_ocr.jpg +0 -0
  135. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery2_p1.html +0 -0
  136. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery2_p1.md +0 -0
  137. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery2_p1_layout.jpg +0 -0
  138. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery2_p1_ocr.jpg +0 -0
  139. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery3_p1.html +0 -0
  140. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery3_p1.md +0 -0
  141. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery3_p1_layout.jpg +0 -0
  142. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery3_p1_ocr.jpg +0 -0
  143. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery4_p1.html +0 -0
  144. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery4_p1.md +0 -0
  145. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery4_p1_layout.jpg +0 -0
  146. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery4_p1_ocr.jpg +0 -0
  147. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery5_p1.html +0 -0
  148. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery5_p1.md +0 -0
  149. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery5_p1_layout.jpg +0 -0
  150. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery5_p1_ocr.jpg +0 -0
  151. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery6_p1.html +0 -0
  152. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery6_p1.md +0 -0
  153. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery6_p1_layout.jpg +0 -0
  154. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery6_p1_ocr.jpg +0 -0
  155. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery7_p1.html +0 -0
  156. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery7_p1.md +0 -0
  157. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery7_p1_layout.jpg +0 -0
  158. {yomitoku-0.9.3 → yomitoku-0.9.4}/static/out/in_gallery7_p1_ocr.jpg +0 -0
  159. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/data/invalid.jpg +0 -0
  160. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/data/invalid.pdf +0 -0
  161. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/data/rgba.png +0 -0
  162. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/data/sampldoc.tif +0 -0
  163. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/data/small.jpg +0 -0
  164. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/data/subdir/test.jpg +0 -0
  165. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/data/test.bmp +0 -0
  166. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/data/test.jpg +0 -0
  167. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/data/test.pdf +0 -0
  168. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/data/test.png +0 -0
  169. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/data/test.tiff +0 -0
  170. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/data/test.txt +0 -0
  171. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/data/test_gray.jpg +0 -0
  172. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/test_base.py +0 -0
  173. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/test_cli.py +0 -0
  174. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/test_data.py +0 -0
  175. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/test_document_analyzer.py +0 -0
  176. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/test_export.py +0 -0
  177. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/test_layout_analyzer.py +0 -0
  178. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/test_ocr.py +0 -0
  179. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/yaml/layout_parser.yaml +0 -0
  180. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/yaml/table_structure_recognizer.yaml +0 -0
  181. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/yaml/text_detector.yaml +0 -0
  182. {yomitoku-0.9.3 → yomitoku-0.9.4}/tests/yaml/text_recognizer.yaml +0 -0
  183. {yomitoku-0.9.3 → yomitoku-0.9.4}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yomitoku
3
- Version: 0.9.3
3
+ Version: 0.9.4
4
4
  Summary: Yomitoku is an AI-powered document image analysis package designed specifically for the Japanese language.
5
5
  Author-email: Kotaro Kinoshita <kotaro.kinoshita@mlism.com>
6
6
  License: CC BY-NC-SA 4.0
@@ -158,6 +158,7 @@ def process_single_file(args, analyzer, path, format):
158
158
  args.ignore_line_break,
159
159
  img,
160
160
  args.figure,
161
+ args.figure_letter,
161
162
  args.figure_dir,
162
163
  )
163
164
  else:
@@ -167,6 +168,7 @@ def process_single_file(args, analyzer, path, format):
167
168
  encoding=args.encoding,
168
169
  img=img,
169
170
  export_figure=args.figure,
171
+ export_figure_letter=args.figure_letter,
170
172
  figure_dir=args.figure_dir,
171
173
  )
172
174
 
@@ -63,6 +63,7 @@ def convert_csv(
63
63
  ignore_line_break,
64
64
  img=None,
65
65
  export_figure: bool = True,
66
+ export_figure_letter: bool = False,
66
67
  figure_dir="figures",
67
68
  ):
68
69
  elements = []
@@ -89,6 +90,20 @@ def convert_csv(
89
90
  }
90
91
  )
91
92
 
93
+ if export_figure_letter:
94
+ for figure in inputs.figures:
95
+ paragraphs = sorted(figure.paragraphs, key=lambda x: x.order)
96
+ for paragraph in paragraphs:
97
+ contents = paragraph_to_csv(paragraph, ignore_line_break)
98
+ elements.append(
99
+ {
100
+ "type": "paragraph",
101
+ "box": paragraph.box,
102
+ "element": contents,
103
+ "order": figure.order,
104
+ }
105
+ )
106
+
92
107
  elements = sorted(elements, key=lambda x: x["order"])
93
108
 
94
109
  if export_figure:
@@ -109,6 +124,7 @@ def export_csv(
109
124
  encoding: str = "utf-8",
110
125
  img=None,
111
126
  export_figure: bool = True,
127
+ export_figure_letter: bool = False,
112
128
  figure_dir="figures",
113
129
  ):
114
130
  elements = convert_csv(
@@ -117,6 +133,7 @@ def export_csv(
117
133
  ignore_line_break,
118
134
  img,
119
135
  export_figure,
136
+ export_figure_letter,
120
137
  figure_dir,
121
138
  )
122
139
 
@@ -72,8 +72,6 @@ def create_searchable_pdf(images, ocr_results, output_path, font_path=None):
72
72
 
73
73
  for i, (image, ocr_result) in enumerate(zip(images, ocr_results)):
74
74
  image = Image.fromarray(image[:, :, ::-1]) # Convert BGR to RGB
75
- pdfmetrics.registerFont(TTFont("MPLUS1p-Medium", FONT_PATH))
76
-
77
75
  image_path = f"tmp_{i}.png"
78
76
  image.save(image_path)
79
77
  w, h = image.size
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes