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