import fitz # PyMuPDF import streamlit as st from PIL import Image import io st.set_page_config(layout="centered") st.title("📄 PDF Reader") uploaded_file = st.file_uploader("Upload a PDF file", type="pdf") if uploaded_file: doc = fitz.open(stream=uploaded_file.read(), filetype="pdf") total_pages = len(doc) # Page selection page_number = st.number_input("Page", min_value=1, max_value=total_pages, value=1) # Render selected page page = doc.load_page(page_number - 1) pix = page.get_pixmap(matrix=fitz.Matrix(2, 2)) img = Image.open(io.BytesIO(pix.tobytes("png"))) st.image(img, caption=f"Page {page_number} of {total_pages}", use_column_width=True)