Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| import tempfile | |
| import os | |
| def main(): | |
| st.title("νκ΅μνκΈ°λ‘λΆ OCR μ²λ¦¬") | |
| uploaded_file = st.file_uploader("PDF νμΌμ μ λ‘λνμΈμ", type="pdf") | |
| if uploaded_file is not None: | |
| # λ²νΌμ st.empty()λ‘ μμ±νμ¬ λμ€μ μ λ°μ΄νΈν μ μκ² ν©λλ€. | |
| button_placeholder = st.empty() | |
| execute_button = button_placeholder.button("μ€ννκΈ°") | |
| if execute_button: | |
| # λ²νΌμ λΉνμ±ννκ³ λ‘λ© λ©μμ§λ₯Ό νμν©λλ€. | |
| button_placeholder.empty() | |
| with st.spinner('OCR μ²λ¦¬ μ€...'): | |
| # μμ νμΌλ‘ μ μ₯ | |
| with tempfile.NamedTemporaryFile(delete=False, suffix='.pdf') as tmp_file: | |
| tmp_file.write(uploaded_file.getvalue()) | |
| tmp_file_path = tmp_file.name | |
| # OCR μ²λ¦¬ | |
| from watch import ocr_process | |
| result = ocr_process(tmp_file_path) | |
| # μμ νμΌ μμ | |
| os.unlink(tmp_file_path) | |
| # κ²°κ³Ό νμ | |
| st.header("μ°½μμ 체ννλμν©") | |
| for grade in set(item.grade for item in result.creativeExperientialActivities): | |
| st.subheader(f"{grade}νλ ") | |
| activities = [item for item in result.creativeExperientialActivities if item.grade == grade] | |
| for activity in activities: | |
| activity_type = {"AUTONOMOUS": "μμ¨νλ", "CLUB": "λμ리νλ", "CAREER": "μ§λ‘νλ"}[activity.activityType] | |
| st.write(f"**{activity_type}**") | |
| st.write(f"μκ°: {activity.hours}") | |
| st.write(f"νΉκΈ°μ¬ν: {activity.specialNotes}") | |
| if activity.areaOfInterest: | |
| st.write(f"ν¬λ§λΆμΌ: {activity.areaOfInterest}") | |
| st.write("---") | |
| st.header("κ΅κ³Όνμ΅λ°λ¬μν©-μΈλΆλ₯λ ₯λ°νΉκΈ°μ¬ν") | |
| for grade in set(item.grade for item in result.academicAchievement): | |
| st.subheader(f"{grade}νλ ") | |
| for semester in set(item.semester for item in result.academicAchievement if item.grade == grade): | |
| st.write(f"**{semester}νκΈ°**") | |
| subjects = [item for item in result.academicAchievement if | |
| item.grade == grade and item.semester == semester] | |
| for subject in subjects: | |
| st.write(f"κ³Όλͺ©: {subject.subject} ({subject.course})") | |
| st.write(f"μΈλΆλ₯λ ₯ λ° νΉκΈ°μ¬ν: {subject.detailedAbilities}") | |
| st.write("---") | |
| # μ²λ¦¬κ° μλ£λλ©΄ λ²νΌμ λ€μ νμ±νν©λλ€. | |
| button_placeholder.button("μ€ννκΈ°", key="rerun_button") | |
| if __name__ == "__main__": | |
| main() |