| import streamlit as st
|
| from main import read_pdf, extract_key_phrases, score_sentences, summarize_text
|
| import io
|
|
|
|
|
| st.title("PDF 條列式重點摘要工具 🗟 🔏")
|
|
|
|
|
| uploaded_file = st.file_uploader("請上傳您的 PDF 文件", type="pdf")
|
|
|
|
|
| summary_scale = st.slider("請選擇摘要比例(%)", min_value=1, max_value=100, value=20)
|
|
|
|
|
| submit_button = st.button("產生摘要")
|
|
|
|
|
| if submit_button and uploaded_file is not None:
|
| with st.spinner('正在處理中,請稍候...'):
|
|
|
| text = read_pdf(io.BytesIO(uploaded_file.getvalue()))
|
|
|
| key_phrases = extract_key_phrases(text)
|
|
|
| sentence_scores = score_sentences(text, key_phrases)
|
|
|
| total_sentences = len(list(sentence_scores.keys()))
|
| num_points = max(1, total_sentences * summary_scale // 100)
|
|
|
| summary = summarize_text(sentence_scores, num_points=num_points)
|
|
|
| st.subheader("摘要結果:")
|
| st.markdown(summary)
|
|
|