pratham0011 commited on
Commit
0b2878a
·
verified ·
1 Parent(s): 82437d5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -10
app.py CHANGED
@@ -3,7 +3,7 @@ import os
3
  import base64
4
  import pdfplumber
5
 
6
- st.title("Extract Tables from PDFs")
7
 
8
  input_pdf = st.file_uploader(label="Upload PDF here", type='pdf')
9
 
@@ -17,16 +17,21 @@ if input_pdf is not None:
17
  f.write(base64.b64decode(base64_pdf))
18
 
19
  pdf = pdfplumber.open("input.pdf")
20
- page = pdf.pages[int(page_number) - 1]
21
- tables = page.extract_tables()
22
 
23
- st.markdown("## Number of Tables")
24
- st.write(len(tables))
 
 
 
25
 
26
- if tables:
27
- option = st.selectbox(label="Select the table to be displayed", options=list(range(1, len(tables) + 1)))
28
 
29
- st.markdown("### Output Table")
30
- st.dataframe(tables[option - 1])
31
 
32
- pdf.close()
 
 
 
 
3
  import base64
4
  import pdfplumber
5
 
6
+ st.title("PDF Table Extractor")
7
 
8
  input_pdf = st.file_uploader(label="Upload PDF here", type='pdf')
9
 
 
17
  f.write(base64.b64decode(base64_pdf))
18
 
19
  pdf = pdfplumber.open("input.pdf")
20
+ num_pages = len(pdf.pages)
 
21
 
22
+ if not page_number.isdigit() or int(page_number) <= 0 or int(page_number) > num_pages:
23
+ st.error(f"Invalid page number. Please enter a number between 1 and {num_pages}.")
24
+ else:
25
+ page = pdf.pages[int(page_number) - 1]
26
+ tables = page.extract_tables()
27
 
28
+ st.markdown("## Number of Tables")
29
+ st.write(len(tables))
30
 
31
+ if tables:
32
+ option = st.selectbox(label="Select the table to be displayed", options=list(range(1, len(tables) + 1)))
33
 
34
+ st.markdown("### Output Table")
35
+ st.dataframe(tables[option - 1])
36
+
37
+ pdf.close()