BabelDOC 0.3.0__tar.gz → 0.3.1__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 (98) hide show
  1. {babeldoc-0.3.0 → babeldoc-0.3.1}/PKG-INFO +1 -1
  2. babeldoc-0.3.1/babeldoc/__init__.py +1 -0
  3. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/const.py +1 -1
  4. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/backend/pdf_creater.py +7 -0
  5. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/high_level.py +15 -1
  6. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/main.py +1 -1
  7. {babeldoc-0.3.0 → babeldoc-0.3.1}/pyproject.toml +2 -2
  8. {babeldoc-0.3.0 → babeldoc-0.3.1}/uv.lock +1 -1
  9. babeldoc-0.3.0/babeldoc/__init__.py +0 -1
  10. {babeldoc-0.3.0 → babeldoc-0.3.1}/.cursorignore +0 -0
  11. {babeldoc-0.3.0 → babeldoc-0.3.1}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  12. {babeldoc-0.3.0 → babeldoc-0.3.1}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  13. {babeldoc-0.3.0 → babeldoc-0.3.1}/.github/dependabot.yml +0 -0
  14. {babeldoc-0.3.0 → babeldoc-0.3.1}/.github/labels.yml +0 -0
  15. {babeldoc-0.3.0 → babeldoc-0.3.1}/.github/release-drafter.yml +0 -0
  16. {babeldoc-0.3.0 → babeldoc-0.3.1}/.github/workflows/codeql.yml +0 -0
  17. {babeldoc-0.3.0 → babeldoc-0.3.1}/.github/workflows/docs.yml +0 -0
  18. {babeldoc-0.3.0 → babeldoc-0.3.1}/.github/workflows/labeler.yml +0 -0
  19. {babeldoc-0.3.0 → babeldoc-0.3.1}/.github/workflows/publish-to-pypi.yml +0 -0
  20. {babeldoc-0.3.0 → babeldoc-0.3.1}/.github/workflows/test.yml +0 -0
  21. {babeldoc-0.3.0 → babeldoc-0.3.1}/.gitignore +0 -0
  22. {babeldoc-0.3.0 → babeldoc-0.3.1}/.pre-commit-config.yaml +0 -0
  23. {babeldoc-0.3.0 → babeldoc-0.3.1}/LICENSE +0 -0
  24. {babeldoc-0.3.0 → babeldoc-0.3.1}/README.md +0 -0
  25. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/assets/assets.py +0 -0
  26. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/assets/embedding_assets_metadata.py +0 -0
  27. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/asynchronize/__init__.py +0 -0
  28. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/converter.py +0 -0
  29. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/__init__.py +0 -0
  30. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -0
  31. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/backend/__init__.py +0 -0
  32. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/frontend/__init__.py +0 -0
  33. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/frontend/il_creater.py +0 -0
  34. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/il_version_1.py +0 -0
  35. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/il_version_1.rnc +0 -0
  36. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/il_version_1.rng +0 -0
  37. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/il_version_1.xsd +0 -0
  38. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/midend/__init__.py +0 -0
  39. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/midend/add_debug_information.py +0 -0
  40. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/midend/detect_scanned_file.py +0 -0
  41. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/midend/il_translator.py +0 -0
  42. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/midend/il_translator_llm_only.py +0 -0
  43. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/midend/layout_parser.py +0 -0
  44. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/midend/paragraph_finder.py +0 -0
  45. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/midend/remove_descent.py +0 -0
  46. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/midend/styles_and_formulas.py +0 -0
  47. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/midend/table_parser.py +0 -0
  48. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/midend/typesetting.py +0 -0
  49. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/translator/__init__.py +0 -0
  50. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/translator/cache.py +0 -0
  51. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/translator/translator.py +0 -0
  52. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/utils/atomic_integer.py +0 -0
  53. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/utils/fontmap.py +0 -0
  54. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/utils/layout_helper.py +0 -0
  55. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/utils/priority_thread_pool_executor.py +0 -0
  56. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/utils/style_helper.py +0 -0
  57. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/document_il/xml_converter.py +0 -0
  58. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/docvision/README.md +0 -0
  59. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/docvision/__init__.py +0 -0
  60. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/docvision/doclayout.py +0 -0
  61. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/docvision/rpc_doclayout.py +0 -0
  62. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
  63. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/pdfinterp.py +0 -0
  64. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/progress_monitor.py +0 -0
  65. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/result_merger.py +0 -0
  66. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/split_manager.py +0 -0
  67. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/tools/generate_font_metadata.py +0 -0
  68. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/tools/italic_assistance.py +0 -0
  69. {babeldoc-0.3.0 → babeldoc-0.3.1}/babeldoc/translation_config.py +0 -0
  70. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/CODE_OF_CONDUCT.md +0 -0
  71. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/CONTRIBUTING.md +0 -0
  72. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/CONTRIBUTOR_REWARD.md +0 -0
  73. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
  74. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
  75. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
  76. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
  77. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
  78. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/ImplementationDetails/README.md +0 -0
  79. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
  80. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
  81. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/README.md +0 -0
  82. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/deploy.sh +0 -0
  83. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/images/babeldoc-banner.png +0 -0
  84. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
  85. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
  86. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
  87. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
  88. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/images/babeldoc-big-logo.png +0 -0
  89. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/images/babeldoc-contributor_reward_example.png +0 -0
  90. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/images/babeldoc-preview.gif +0 -0
  91. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
  92. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
  93. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/images/babeldoc-small-logo.png +0 -0
  94. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/index.md +0 -0
  95. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/intro-to-pdf-object.md +0 -0
  96. {babeldoc-0.3.0 → babeldoc-0.3.1}/docs/requirements.txt +0 -0
  97. {babeldoc-0.3.0 → babeldoc-0.3.1}/mkdocs.yml +0 -0
  98. {babeldoc-0.3.0 → babeldoc-0.3.1}/tests/test_translation_config.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: BabelDOC
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: Yet Another Document Translator
5
5
  Project-URL: Homepage, https://github.com/funstory-ai/BabelDOC
6
6
  Project-URL: Issues, https://github.com/funstory-ai/BabelDOC/issues
@@ -0,0 +1 @@
1
+ __version__ = "0.3.1"
@@ -3,7 +3,7 @@ import shutil
3
3
  import subprocess
4
4
  from pathlib import Path
5
5
 
6
- __version__ = "0.3.0"
6
+ __version__ = "0.3.1"
7
7
 
8
8
  CACHE_FOLDER = Path.home() / ".cache" / "babeldoc"
9
9
 
@@ -85,12 +85,14 @@ class PDFCreater:
85
85
  original_pdf_path: str,
86
86
  document: il_version_1.Document,
87
87
  translation_config: TranslationConfig,
88
+ mediabox_data: dict,
88
89
  ):
89
90
  self.original_pdf_path = original_pdf_path
90
91
  self.docs = document
91
92
  self.font_path = translation_config.font
92
93
  self.font_mapper = FontMapper(translation_config)
93
94
  self.translation_config = translation_config
95
+ self.mediabox_data = mediabox_data
94
96
 
95
97
  def render_graphic_state(
96
98
  self,
@@ -636,6 +638,10 @@ class PDFCreater:
636
638
 
637
639
  return False
638
640
 
641
+ def restore_media_box(self, doc: pymupdf.Document, mediabox_data: dict) -> None:
642
+ for pageno, mediabox in mediabox_data.items():
643
+ doc.xref_set_key(doc[pageno].xref, "MediaBox", mediabox[1])
644
+
639
645
  def write(
640
646
  self, translation_config: TranslationConfig, check_font_exists: bool = False
641
647
  ) -> TranslateResult:
@@ -776,6 +782,7 @@ class PDFCreater:
776
782
  )
777
783
 
778
784
  pbar.advance()
785
+ self.restore_media_box(pdf, self.mediabox_data)
779
786
  with self.translation_config.progress_monitor.stage_start(
780
787
  SAVE_PDF_STAGE_NAME,
781
788
  2,
@@ -525,6 +525,17 @@ def do_translate(
525
525
  translation_config.cleanup_temp_files()
526
526
 
527
527
 
528
+ def fix_media_box(doc: Document) -> None:
529
+ mediabox_data = {}
530
+ for page in doc:
531
+ if page.mediabox.x0 != 0 or page.mediabox.y0 != 0:
532
+ x1 = page.mediabox.x1
533
+ y1 = page.mediabox.y1
534
+ mediabox_data[page.number] = doc.xref_get_key(page.xref, "MediaBox")
535
+ doc.xref_set_key(page.xref, "MediaBox", f"[0 0 {x1} {y1}]")
536
+ return mediabox_data
537
+
538
+
528
539
  def _do_translate_single(
529
540
  pm: ProgressMonitor,
530
541
  translation_config: TranslationConfig,
@@ -541,6 +552,7 @@ def _do_translate_single(
541
552
  # Fix null xref in PDF file
542
553
  fix_null_xref(doc_input)
543
554
  doc_input.save(output_path, expand=True, pretty=True)
555
+ del doc_input
544
556
 
545
557
  # Continue with original processing
546
558
  temp_pdf_path = translation_config.get_working_file_path("input.pdf")
@@ -550,6 +562,8 @@ def _do_translate_single(
550
562
  # Fix null xref in PDF file
551
563
  fix_null_xref(doc_pdf2zh)
552
564
 
565
+ mediabox_data = fix_media_box(doc_pdf2zh)
566
+
553
567
  for page in doc_pdf2zh:
554
568
  page.insert_font(resfont, None)
555
569
 
@@ -677,7 +691,7 @@ def _do_translate_single(
677
691
  translation_config.get_working_file_path("typsetting.json"),
678
692
  )
679
693
 
680
- pdf_creater = PDFCreater(temp_pdf_path, docs, translation_config)
694
+ pdf_creater = PDFCreater(temp_pdf_path, docs, translation_config, mediabox_data)
681
695
  result = pdf_creater.write(translation_config)
682
696
  try:
683
697
  if mono_watermark_first_page_doc_bytes:
@@ -23,7 +23,7 @@ from babeldoc.translation_config import TranslationConfig
23
23
  from babeldoc.translation_config import WatermarkOutputMode
24
24
 
25
25
  logger = logging.getLogger(__name__)
26
- __version__ = "0.3.0"
26
+ __version__ = "0.3.1"
27
27
 
28
28
 
29
29
  def create_parser():
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "BabelDOC"
3
- version = "0.3.0"
3
+ version = "0.3.1"
4
4
  description = "Yet Another Document Translator"
5
5
  license = "AGPL-3.0"
6
6
  readme = "README.md"
@@ -148,7 +148,7 @@ pythonpath = [".", "src"]
148
148
  testpaths = ["tests"]
149
149
 
150
150
  [bumpver]
151
- current_version = "0.3.0"
151
+ current_version = "0.3.1"
152
152
  version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
153
153
 
154
154
  [bumpver.file_patterns]
@@ -48,7 +48,7 @@ wheels = [
48
48
 
49
49
  [[package]]
50
50
  name = "babeldoc"
51
- version = "0.3.0"
51
+ version = "0.3.1"
52
52
  source = { editable = "." }
53
53
  dependencies = [
54
54
  { name = "bitstring" },
@@ -1 +0,0 @@
1
- __version__ = "0.3.0"
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