ocr_text_extractor_example.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/env python3
  2. """
  3. OCR文本提取示例 - 从PaddleOCR JSON输出中提取带段落分割的纯文本
  4. """
  5. from pdf_converter_v2.utils.paddleocr_fallback import extract_text_with_paragraphs_from_ocr_json
  6. import sys
  7. def main():
  8. if len(sys.argv) < 2:
  9. print("用法: python ocr_text_extractor_example.py <json_file_path>")
  10. print("示例: python ocr_text_extractor_example.py out/工况信息_res.json")
  11. sys.exit(1)
  12. json_path = sys.argv[1]
  13. # 提取文本(可以自定义参数)
  14. # line_height_threshold: 行高倍数阈值,用于判断是否在同一行(默认1.5)
  15. # paragraph_gap_threshold: 段落间距倍数阈值,用于判断是否需要分段(默认2.0)
  16. result = extract_text_with_paragraphs_from_ocr_json(
  17. json_path,
  18. line_height_threshold=1.5,
  19. paragraph_gap_threshold=2.0
  20. )
  21. if result:
  22. print("=" * 80)
  23. print("提取的文本(带段落分割):")
  24. print("=" * 80)
  25. print(result)
  26. print("=" * 80)
  27. print(f"\n文本长度: {len(result)} 字符")
  28. print(f"行数: {len(result.split(chr(10)))} 行")
  29. else:
  30. print("未能提取文本,请检查JSON文件格式")
  31. if __name__ == "__main__":
  32. main()