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
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m36s
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user