import streamlit as st from PyPDF2 import PdfReader from transformers import pipeline summarizer = pipeline(task="summarization") # Basic text summary st.set_page_config( page_title='Text Summarizer' ) st.title('Text Summarization') # Text summary function def summarize_text(text): summary = summarizer(text) summary = summary[0]['summary_text'] return summary input = st.text_area('Enter long text') output = summarize_text(input) if st.button('Summarize text'): st.markdown(f'''

Results

{output}
''', unsafe_allow_html=True) st.success('Done') ##### # PDF summary section st.subheader('PDF summary') try: # Upload file uploaded_pdf = st.file_uploader('Choose a pdf file', type=['pdf']) if uploaded_pdf is not None: st.success('Succesfully uploaded') # Extract PDF content def extract_text(pdf_file): pdf_content = PdfReader(pdf_file) pages =pdf_content.pages # page_count = len(pages) page_text_stack = [] for page in pages: page_text = page.extract_text() page_text_stack.append(page_text) return page_text_stack pdf_input = extract_text(uploaded_pdf) pdf_output = [] for stack in pdf_input: summarize_text(stack) pdf_output.append(stack) pdf_summary = '\n'.join(pdf_output) except: # Handle blank file error st.error('Please select a valid file') # Prepare output # summary_pdf = pdfkit.from_string(pdf_output, 'Summary.pdf') if st.button('Summarize pdf page'): st.markdown(f'''

Download the summary here

{pdf_summary}

''', unsafe_allow_html=True) st.write('Download summary pdf here') download_button = st.download_button(summary_pdf, label='Download summary') st.success('PDF page summarized :)', icon="✅")