Browse Source

fix: 修复 PaddleOCR CLI 输出文件查找逻辑

- PaddleOCR CLI 会在 save_path 下创建目录结构
- 改用递归查找 .md 文件而非固定路径
- 解决未找到 markdown 输出文件的问题
何文松 1 day ago
parent
commit
f77b550332
1 changed files with 11 additions and 6 deletions
  1. 11 6
      pdf_converter_v2/utils/paddleocr_fallback.py

+ 11 - 6
pdf_converter_v2/utils/paddleocr_fallback.py

@@ -388,13 +388,18 @@ def _call_paddleocr_cli(
                 logger.error(f"[PaddleOCR CLI] 错误输出: {result.stderr}")
             return False, None
         
-        # 查找生成的 markdown 文件
-        markdown_file = save_path_base + ".md"
-        if os.path.exists(markdown_file):
-            logger.info(f"[PaddleOCR CLI] 成功,markdown 文件: {markdown_file}")
-            return True, markdown_file
+        # PaddleOCR CLI 会在 save_path 下创建目录,然后在目录里生成 markdown 文件
+        # 递归查找所有 .md 文件
+        from pathlib import Path
+        save_path_obj = Path(save_path)
+        if save_path_obj.exists():
+            md_files = list(save_path_obj.rglob("*.md"))
+            if md_files:
+                markdown_file = str(md_files[0])
+                logger.info(f"[PaddleOCR CLI] 成功,markdown 文件: {markdown_file}")
+                return True, markdown_file
         
-        logger.error(f"[PaddleOCR CLI] 未找到 markdown 输出文件: {markdown_file}")
+        logger.error(f"[PaddleOCR CLI] 未找到 markdown 输出文件,搜索路径: {save_path}")
         return False, None
         
     except subprocess.TimeoutExpired: