Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -3,7 +3,7 @@ import os
|
|
| 3 |
import base64
|
| 4 |
import pdfplumber
|
| 5 |
|
| 6 |
-
st.title("
|
| 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 |
-
|
| 21 |
-
tables = page.extract_tables()
|
| 22 |
|
| 23 |
-
|
| 24 |
-
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
-
|
| 27 |
-
|
| 28 |
|
| 29 |
-
|
| 30 |
-
|
| 31 |
|
| 32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
| 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()
|