BabelDOC 0.3.56__tar.gz → 0.3.57__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.
- {babeldoc-0.3.56 → babeldoc-0.3.57}/PKG-INFO +1 -1
- babeldoc-0.3.57/babeldoc/__init__.py +1 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/const.py +1 -1
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/backend/pdf_creater.py +2 -2
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/midend/automatic_term_extractor.py +2 -1
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/high_level.py +18 -22
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/main.py +1 -1
- {babeldoc-0.3.56 → babeldoc-0.3.57}/pyproject.toml +2 -2
- {babeldoc-0.3.56 → babeldoc-0.3.57}/uv.lock +398 -333
- babeldoc-0.3.56/babeldoc/__init__.py +0 -1
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.cursorignore +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.github/PULL_REQUEST_TEMPLATE/pr_form.yml +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.github/dependabot.yml +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.github/labels.yml +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.github/release-drafter.yml +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.github/workflows/codeql.yml +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.github/workflows/docs.yml +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.github/workflows/labeler.yml +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.github/workflows/lint.yml +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.github/workflows/pr-lint.yml +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.github/workflows/publish-to-pypi.yml +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.github/workflows/test.yml +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.gitignore +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/.pre-commit-config.yaml +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/LICENSE +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/README.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/assets/assets.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/assets/embedding_assets_metadata.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/asynchronize/__init__.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/converter.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/__init__.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/backend/__init__.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/frontend/__init__.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/frontend/il_creater.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/il_version_1.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/il_version_1.rnc +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/il_version_1.rng +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/il_version_1.xsd +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/midend/__init__.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/midend/add_debug_information.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/midend/detect_scanned_file.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/midend/il_translator.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/midend/il_translator_llm_only.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/midend/layout_parser.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/midend/paragraph_finder.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/midend/remove_descent.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/midend/styles_and_formulas.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/midend/table_parser.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/midend/typesetting.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/translator/__init__.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/translator/cache.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/translator/translator.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/utils/atomic_integer.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/utils/fontmap.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/utils/layout_helper.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/utils/mupdf_helper.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/utils/paragraph_helper.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/utils/priority_thread_pool_executor.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/utils/style_helper.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/utils/zstd_helper.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/document_il/xml_converter.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/docvision/README.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/docvision/__init__.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/docvision/doclayout.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/docvision/rpc_doclayout.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/format/office/__init__.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/glossary.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/pdfinterp.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/progress_monitor.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/result_merger.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/split_manager.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/tools/generate_font_metadata.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/tools/italic_assistance.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/tools/italic_recognize_tool.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/babeldoc/translation_config.py +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/CODE_OF_CONDUCT.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/CONTRIBUTING.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/CONTRIBUTOR_REWARD.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/ImplementationDetails/README.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/README.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/deploy.sh +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/example/demo_glossary.csv +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/images/babeldoc-banner.png +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/images/babeldoc-big-logo.png +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/images/babeldoc-contributor_reward_example.png +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/images/babeldoc-preview.gif +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/images/babeldoc-small-logo.png +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/index.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/intro-to-pdf-object.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/requirements.txt +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/docs/supported_languages.md +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/mkdocs.yml +0 -0
- {babeldoc-0.3.56 → babeldoc-0.3.57}/tests/test_translation_config.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.3.57"
|
|
@@ -781,10 +781,10 @@ class PDFCreater:
|
|
|
781
781
|
return False
|
|
782
782
|
|
|
783
783
|
def restore_media_box(self, doc: pymupdf.Document, mediabox_data: dict) -> None:
|
|
784
|
-
for
|
|
784
|
+
for xref, page_box_data in mediabox_data.items():
|
|
785
785
|
for name, box in page_box_data.items():
|
|
786
786
|
try:
|
|
787
|
-
doc.xref_set_key(
|
|
787
|
+
doc.xref_set_key(xref, name, box)
|
|
788
788
|
except Exception:
|
|
789
789
|
logger.debug(f"Error restoring media box {name} from PDF")
|
|
790
790
|
|
|
@@ -185,6 +185,7 @@ class AutomaticTermExtractor:
|
|
|
185
185
|
total_token_count = 0
|
|
186
186
|
for paragraph in page.pdf_paragraph:
|
|
187
187
|
if paragraph.debug_id is None or paragraph.unicode is None:
|
|
188
|
+
pbar.advance(1)
|
|
188
189
|
continue
|
|
189
190
|
if is_cid_paragraph(paragraph):
|
|
190
191
|
pbar.advance(1)
|
|
@@ -253,7 +254,7 @@ class AutomaticTermExtractor:
|
|
|
253
254
|
)
|
|
254
255
|
|
|
255
256
|
except Exception as e:
|
|
256
|
-
logger.error(f"Error
|
|
257
|
+
logger.error(f"Error during automatic terms extract: {e}")
|
|
257
258
|
return
|
|
258
259
|
finally:
|
|
259
260
|
pbar.advance(len(paragraphs.paragraphs))
|
|
@@ -425,6 +425,8 @@ def fix_null_xref(doc: Document) -> None:
|
|
|
425
425
|
elif obj and "/LZWDecode" in obj:
|
|
426
426
|
data = doc.xref_stream(i)
|
|
427
427
|
doc.update_stream(i, data)
|
|
428
|
+
elif obj and "/Annots" in obj:
|
|
429
|
+
doc.xref_set_key(i, "Annots", "null")
|
|
428
430
|
except Exception:
|
|
429
431
|
doc.update_object(i, "[]")
|
|
430
432
|
|
|
@@ -625,28 +627,22 @@ def do_translate(
|
|
|
625
627
|
|
|
626
628
|
def fix_media_box(doc: Document) -> None:
|
|
627
629
|
mediabox_data = {}
|
|
628
|
-
for
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
if
|
|
632
|
-
mediabox = (
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
x1 = page.cropbox.x1
|
|
645
|
-
y1 = page.cropbox.y1
|
|
646
|
-
page_box_data["CropBox"] = doc.xref_get_key(page.xref, "CropBox")[1]
|
|
647
|
-
doc.xref_set_key(page.xref, "CropBox", f"[0 0 {x1 - x0} {y1 - x0}]")
|
|
648
|
-
if page_box_data:
|
|
649
|
-
mediabox_data[page.number] = page_box_data
|
|
630
|
+
for x in range(1, doc.xref_length()):
|
|
631
|
+
t = doc.xref_get_key(x, "Type")
|
|
632
|
+
box_set = {}
|
|
633
|
+
if t[1] in ["/Pages", "/Page"]:
|
|
634
|
+
mediabox = doc.xref_get_key(x, "MediaBox")
|
|
635
|
+
if mediabox[0] != "null":
|
|
636
|
+
_, _, x1, y1 = mediabox[1].replace("[", "").replace("]", "").split(" ")
|
|
637
|
+
doc.xref_set_key(x, "MediaBox", f"[0 0 {x1} {y1}]")
|
|
638
|
+
box_set["MediaBox"] = mediabox[1]
|
|
639
|
+
for k in ["CropBox", "BleedBox", "TrimBox", "ArtBox"]:
|
|
640
|
+
box = doc.xref_get_key(x, k)
|
|
641
|
+
if box[0] != "null":
|
|
642
|
+
box_set[k] = box[1]
|
|
643
|
+
doc.xref_set_key(x, k, "null")
|
|
644
|
+
if box_set:
|
|
645
|
+
mediabox_data[x] = box_set
|
|
650
646
|
return mediabox_data
|
|
651
647
|
|
|
652
648
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "BabelDOC"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.57"
|
|
4
4
|
description = "Yet Another Document Translator"
|
|
5
5
|
license = "AGPL-3.0"
|
|
6
6
|
readme = "README.md"
|
|
@@ -151,7 +151,7 @@ pythonpath = [".", "src"]
|
|
|
151
151
|
testpaths = ["tests"]
|
|
152
152
|
|
|
153
153
|
[bumpver]
|
|
154
|
-
current_version = "0.3.
|
|
154
|
+
current_version = "0.3.57"
|
|
155
155
|
version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
|
|
156
156
|
|
|
157
157
|
[bumpver.file_patterns]
|