=== 문서 변환 프로세서 시작 === Job ID: pdf_68faf2d4c521c4.11223576 DOCUMENT_ROOT: /var/www/html PHP SAPI: cli 현재 디렉토리: /var/www/html/insurance_magazine/admin 작업 정보 파일 경로: /var/www/html/insurance_magazine/logs/pdf_job_pdf_68faf2d4c521c4.11223576.json ✅ 작업 정보 파일 존재 ✅ 작업 정보 파싱 성공: Array ( [job_id] => pdf_68faf2d4c521c4.11223576 [pdf_path] => /var/www/html/insurance_magazine/logs/temp/pdf_68faf2d4c521c4.11223576.pdf [article_title] => 상법상 고지의무의 대상이 되는 ‘중요한 사항’이 무엇을 의미하는지를 밝히면서, 보험청약서에 일정한 사항에 관하여 답변을 구하는 취지가 포함된 경우 이는 ‘중요한 사항’으로 추정 [category_id] => 9 [article_type] => news [created_at] => 2025-10-24 12:30:28 ) PDF 파일 경로: /var/www/html/insurance_magazine/logs/temp/pdf_68faf2d4c521c4.11223576.pdf 기사 제목: 상법상 고지의무의 대상이 되는 ‘중요한 사항’이 무엇을 의미하는지를 밝히면서, 보험청약서에 일정한 사항에 관하여 답변을 구하는 취지가 포함된 경우 이는 ‘중요한 사항’으로 추정 카테고리 ID: 9 ✅ PDF 파일 존재 (112375 bytes) PDFToArticleConverter 인스턴스 생성 중... ✅ PDFToArticleConverter 생성 성공 파일 정보: Array ( [name] => pdf_68faf2d4c521c4.11223576.pdf [tmp_name] => /var/www/html/insurance_magazine/logs/temp/pdf_68faf2d4c521c4.11223576.pdf [type] => application/pdf [size] => 112375 [error] => 0 ) PDF 변환 실행 시작... [10%] 📄 파일 검증 중... [15%] ✅ 파일 검증 완료 [20%] 📝 PDF 텍스트 추출 중... [22%] 🔍 방법1: Smalot PdfParser 시도... [35%] ✅ Smalot 추출 성공: 5984자 [40%] ✅ 텍스트 추출 완료: 5984자 [42%] 🔍 문서 유형: 분쟁조정결정례/판례 (상세 보존 모드) [43%] 📋 사건번호 추출 (본문): 2009다59688 [45%] 🔧 텍스트 전처리 중... [47%] ✅ 원본 텍스트 유지: 5984자 [55%] 🤖 AI 기사 변환 중... (30-60초 소요) [60%] 📊 원본 텍스트: 5984자 [65%] ✅ 적정 길이 - 요약 건너뜀 (5984자) [75%] ✅ API 호출 성공 (모델: x-ai/grok-4-fast) [72%] 📝 AI 응답 수신: 6902자 [74%] 🔍 JSON 파싱 시도... [78%] ✅ JSON 파싱 성공! [79%] 🔍 마크다운 형식 감지 - HTML 변환 [80%] ✅ AI 기사 변환 완료 [82%] 📂 카테고리: 판례 (사용자 선택) [85%] 💾 데이터베이스 저장 중... [90%] ✅ 기사 저장 완료 (ID: 1522) [95%] 📁 원본 파일 저장 중... [100%] ✅ 모든 작업 완료! PDF 변환 결과: Array ( [success] => 1 [article_id] => 1522 [title] => 상법상 고지의무의 대상이 되는 ‘중요한 사항’이 무엇을 의미하는지를 밝히면서, 보험청약서에 일정한 사항에 관하여 답변을 구하는 취지가 포함된 경우 이는 ‘중요한 사항’으로 추정 [content_length] => 7237 ) ✅ PDF 변환 완료! Article ID: 1522