slimshadow commited on
Commit
37264eb
1 Parent(s): ba92e06

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -0
app.py ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import fitz # PyMuPDF
3
+ from docx import Document
4
+ from io import BytesIO
5
+
6
+ def convert_pdf_to_word(pdf_file):
7
+ # Open the PDF file
8
+ pdf_document = fitz.open(stream=pdf_file.read(), filetype="pdf")
9
+ doc = Document()
10
+
11
+ # Extract text from each page
12
+ for page_num in range(len(pdf_document)):
13
+ page = pdf_document.load_page(page_num)
14
+ text = page.get_text()
15
+ doc.add_paragraph(text)
16
+
17
+ return doc
18
+
19
+ def main():
20
+ st.title("PDF to Word Converter")
21
+
22
+ uploaded_file = st.file_uploader("Choose a PDF file", type="pdf")
23
+
24
+ if uploaded_file is not None:
25
+ with st.spinner('Converting...'):
26
+ word_doc = convert_pdf_to_word(uploaded_file)
27
+ buffer = BytesIO()
28
+ word_doc.save(buffer)
29
+ buffer.seek(0)
30
+
31
+ st.success('Conversion successful!')
32
+ st.download_button(
33
+ label="Download Word document",
34
+ data=buffer,
35
+ file_name="converted_document.docx",
36
+ mime="application/vnd.openxmlformats-officedocument.wordprocessingml.document"
37
+ )
38
+
39
+ if __name__ == "__main__":
40
+ main()