diff --git a/translators/pdf_translator.py b/translators/pdf_translator.py index 4c31e04..0e0eca7 100644 --- a/translators/pdf_translator.py +++ b/translators/pdf_translator.py @@ -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: