import streamlit as st from PyPDF2 import PdfReader, PdfWriter from io import BytesIO def remove_pdf_password(file, password): try: reader = PdfReader(file) if reader.is_encrypted: reader.decrypt(password) writer = PdfWriter() for page in reader.pages: writer.add_page(page) output = BytesIO() writer.write(output) output.seek(0) return output except Exception as e: return str(e) st.title("PDF Password Remover") st.write("Upload a password-protected PDF and remove its password.") # File upload uploaded_file = st.file_uploader("Choose a PDF file", type=["pdf"]) password = st.text_input("Enter the PDF password", type="password") if uploaded_file and password: if st.button("Remove Password"): output = remove_pdf_password(uploaded_file, password) if isinstance(output, BytesIO): st.success("Password removed successfully!") st.download_button( label="Download PDF without Password", data=output, file_name="unlocked_pdf.pdf", mime="application/pdf", ) else: st.error(f"Error: {output}")