| import streamlit as st | |
| import fitz # PyMuPDF | |
| st.title("π Upload and View Multiple PDFs (In-Memory)") | |
| # Upload multiple PDF files | |
| uploaded_files = st.file_uploader( | |
| "Choose PDF files", | |
| type="pdf", | |
| accept_multiple_files=True | |
| ) | |
| if uploaded_files: | |
| for uploaded_file in uploaded_files: | |
| st.subheader(f"π {uploaded_file.name}") | |
| try: | |
| # Load PDF from in-memory file | |
| pdf_doc = fitz.open(stream=uploaded_file.read(), filetype="pdf") | |
| for page_num in range(len(pdf_doc)): | |
| page = pdf_doc.load_page(page_num) | |
| text = page.get_text() | |
| st.markdown(f"**Page {page_num + 1}:**") | |
| st.text(text) | |
| except Exception as e: | |
| st.error(f"Error reading {uploaded_file.name}: {e}") | |