Spaces:
Runtime error
Runtime error
File size: 2,928 Bytes
ba14e42 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | 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() |