"""完整PDF解析服务测试脚本""" import sys import os import json from pathlib import Path sys.path.append(os.path.dirname(os.path.abspath(__file__))) from services.pdf_parser.main import PDFParsingService def test_full_service(): """测试完整的PDF解析服务""" print("=" * 50) print("完整PDF解析服务测试") print("=" * 50) # 检查PDF文件 pdf_path = r"D:\project\work\ragflow_plugs\book\不一样的卡梅拉1-我想去看海.pdf" pdf = Path(pdf_path) if not pdf.exists(): print(f"✗ PDF文件不存在: {pdf_path}") print("请确保PDF文件存在,或修改脚本中的pdf_path变量") return False print(f"✓ PDF文件存在: {pdf_path}") print(f" 大小: {pdf.stat().st_size} 字节") print() try: # 创建服务实例 print("创建PDF解析服务实例...") service = PDFParsingService(model_name="gpt-4o") print("✓ 服务实例创建成功") print(f" 使用模型: {service.model_name}") print() # 测试PDF拆分功能 print("测试PDF拆分功能...") from services.pdf_parser.pdf_splitter import PDFSplitter splitter = PDFSplitter() pages = splitter.split_pdf(pdf_path) print(f"✓ PDF拆分成功,共 {len(pages)} 页") print(f" 第1页图像大小: {pages[0]['image'].size}") print() # 注意:完整解析需要模型API密钥,这里只测试到拆分阶段 print("注意:完整解析需要配置模型API密钥") print("当前只测试了PDF拆分功能,模型解析需要配置API_KEY") print() print("=" * 50) print("测试完成!") print("✓ PDF拆分功能正常工作") print("✓ 服务实例创建成功") print("✓ 依赖配置正确") print("=" * 50) # 输出使用说明 print("\n使用说明:") print("1. 配置.env文件:") print(" - API_KEY=your-api-key") print(" - BASE_URL=https://api.openai.com/v1") print(" - MODEL_NAME=qwen3-vl") print(" - MODEL_PROVIDER=openai") print("2. 运行解析:") print(" service = PDFParsingService()") print(" result = service.parse_pdf('your_pdf_file.pdf')") return True except Exception as e: print(f"✗ 测试失败: {str(e)}") print("可能的解决方案:") print("1. 确保已安装所有依赖: pip install -r requirements.txt") print("2. 检查PDF文件是否损坏") print("3. 检查PyMuPDF版本是否兼容") return False def main(): """主函数""" test_full_service() if __name__ == "__main__": main()