feat: 마크다운 파서 추가 + 골든패턴 데이터 변환 (v1 - 개선 필요)

This commit is contained in:
청춘약국
2026-03-18 22:02:44 +09:00
parent 11f0a4c3c9
commit 013d000809
3 changed files with 947 additions and 0 deletions

77
test_real_data.py Normal file
View File

@@ -0,0 +1,77 @@
# -*- coding: utf-8 -*-
"""
실제 마크다운 변환 데이터로 PDF 테스트
"""
import os
import sys
import json
sys.path.insert(0, os.path.dirname(__file__))
from animal_med.renderer import AnimalMedRenderer
def main():
print("=" * 60)
print("실제 동물약 데이터 PDF 테스트")
print("=" * 60)
# 변환된 JSON 로드
json_path = os.path.join(os.path.dirname(__file__), 'data', 'drugs_from_md.json')
with open(json_path, 'r', encoding='utf-8') as f:
drugs_list = json.load(f)
print(f"\n총 약품 수: {len(drugs_list)}")
# drugs 딕셔너리로 변환 (apc_code를 키로)
drugs_dict = {drug['apc_code']: drug for drug in drugs_list}
# 렌더러 생성 (커스텀 데이터 사용)
renderer = AnimalMedRenderer()
renderer.drugs = drugs_dict # 데이터 교체
# 테스트할 약품 3개 선택
test_codes = list(drugs_dict.keys())[:3]
print(f"\n테스트 약품:")
for code in test_codes:
drug = drugs_dict[code]
print(f" - {drug['name']} ({drug['category']})")
# PDF 렌더링
output_dir = os.path.join(os.path.dirname(__file__), 'output')
os.makedirs(output_dir, exist_ok=True)
pdf_path = os.path.join(output_dir, 'real_data_test.pdf')
print(f"\n[PDF 렌더링 중...]")
result = renderer.render_to_pdf(
apc_codes=test_codes,
output_path=pdf_path,
patient_name="박보호자",
pet_name="몽이",
pet_species="말티즈",
pet_age="5세"
)
if result['success']:
print(f"✅ 성공!")
print(f"📄 PDF: {result['pdf_path']}")
print(f"약품: {', '.join(result['drugs'])}")
size = os.path.getsize(pdf_path)
print(f"크기: {size / 1024:.1f} KB")
import fitz
doc = fitz.open(pdf_path)
print(f"페이지 수: {len(doc)}")
doc.close()
else:
print(f"❌ 실패: {result.get('error')}")
print("\n" + "=" * 60)
if __name__ == "__main__":
main()