fix(pdf): add support for translate_images to PDFTranslator to fix API mismatch
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m36s

This commit is contained in:
2026-05-31 10:36:30 +02:00
parent 78eca6d453
commit a5b18b5a24

View File

@@ -84,6 +84,8 @@ class PDFTranslator:
source_language: str = "auto",
progress_callback: Optional[Callable[[Dict[str, Any]], None]] = None,
pdf_mode: str = "layout",
translate_images: bool = False,
**kwargs,
) -> Path:
input_path = Path(input_path)
output_path = Path(output_path)
@@ -94,7 +96,8 @@ class PDFTranslator:
input_path, output_path, target_language, source_language, progress_callback
)
return self._translate_preserve_layout(
input_path, output_path, target_language, source_language, progress_callback
input_path, output_path, target_language, source_language, progress_callback,
translate_images=translate_images,
)
# ------------------------------------------------------------------ #
@@ -108,6 +111,7 @@ class PDFTranslator:
target_language: str,
source_language: str,
progress_callback,
translate_images: bool = False,
) -> Path:
"""Translate PDF preserving layout via PyMuPDF direct text replacement."""
start_time = time.time()
@@ -117,7 +121,8 @@ class PDFTranslator:
except ImportError:
logger.warning("pymupdf_missing_fallback_docx")
return self._translate_preserve_layout_fallback(
input_path, output_path, target_language, source_language, progress_callback
input_path, output_path, target_language, source_language, progress_callback,
translate_images=translate_images,
)
doc = fitz.open(str(input_path))
@@ -162,7 +167,8 @@ class PDFTranslator:
doc.close()
logger.warning("inplace_failed_fallback", error=str(e))
return self._translate_preserve_layout_fallback(
input_path, output_path, target_language, source_language, progress_callback
input_path, output_path, target_language, source_language, progress_callback,
translate_images=translate_images,
)
def _process_pages_inplace(
@@ -517,6 +523,7 @@ class PDFTranslator:
target_language: str,
source_language: str,
progress_callback,
translate_images: bool = False,
) -> Path:
"""Fallback: PDF → DOCX (pdf2docx) → WordTranslator → PDF (LibreOffice)."""
start_time = time.time()
@@ -546,6 +553,7 @@ class PDFTranslator:
docx_path, translated_docx,
target_language, source_language,
progress_callback=None,
translate_images=translate_images,
)
if progress_callback: