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}")