Khalil09's picture
Create app.py
dd38a7a verified
import streamlit as st
from pdf2docx import Converter
import tempfile
import os
st.set_page_config(page_title="PDF to Word Converter", page_icon="📄")
st.title("📄 PDF to Word Converter")
uploaded_file = st.file_uploader("Upload PDF file", type=["pdf"])
def convert_pdf_to_word(pdf_path, docx_path):
cv = Converter(pdf_path)
cv.convert(docx_path, start=0, end=None)
cv.close()
if uploaded_file:
st.success("PDF uploaded successfully!")
if st.button("Convert to Word"):
with tempfile.TemporaryDirectory() as tmpdir:
pdf_path = os.path.join(tmpdir, "input.pdf")
docx_path = os.path.join(tmpdir, "output.docx")
# Save uploaded PDF
with open(pdf_path, "wb") as f:
f.write(uploaded_file.read())
# Convert
convert_pdf_to_word(pdf_path, docx_path)
# Read result
with open(docx_path, "rb") as f:
doc_bytes = f.read()
st.success("Conversion completed!")
st.download_button(
"⬇️ Download Word File",
data=doc_bytes,
file_name="converted.docx",
mime="application/vnd.openxmlformats-officedocument.wordprocessingml.document"
)
st.markdown("---")
st.caption("Built with ❤️ using Streamlit + pdf2docx")