File size: 936 Bytes
decd62f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import tabula
import pandas as pd
import streamlit as st

st.title("TableOCR")

with st.form(key='my_form'):
    file = st.file_uploader("Upload a file", type="pdf", accept_multiple_files=False)
    page_no = st.number_input("Enter page number", min_value=1, value=1)
    submit_button = st.form_submit_button(label='Submit')

    if submit_button and file is not None and page_no is not None:
        with st.spinner("Converting PDF page to image..."):
            tables = tabula.read_pdf(file, pages=page_no, multiple_tables=True)
            table_df = tables[0] if tables else pd.DataFrame()
            st.write("Scroll down to download the output file.")
            st.table(table_df)
            table_df.to_excel("output.xlsx", index=False)
            st.markdown(
                f'<a href="output.xlsx" download="output.xlsx">Click here to download the output file</a>',
                unsafe_allow_html=True
            )