diff --git a/services.py b/services.py index 1f68ce0..376d6b8 100644 --- a/services.py +++ b/services.py @@ -134,6 +134,14 @@ class TranslationService: pages = self.extract_pdf_text(pdf_path) total_pages = len(pages) + # 检查是否有可翻译内容 + total_text = sum(len(p['text']) for p in pages) + if total_pages == 0 or total_text < 10: + error_msg = "PDF无法提取文本内容。可能原因:\n1. PDF是扫描版(图像形式),需要OCR处理\n2. PDF为空或加密\n请使用包含可提取文本的PDF文件。" + if progress_callback: + progress_callback(0, 0, error_msg) + raise ValueError(error_msg) + if progress_callback: progress_callback(0, total_pages, "开始翻译...")