|
import streamlit as st |
|
from utilitis import Draw, Add_Results, Change_Image |
|
from PIL import Image |
|
import time |
|
|
|
def check_if_changed(original_values, updated_values): |
|
for key, value in original_values.items(): |
|
if updated_values[key] != value: |
|
return True |
|
return False |
|
|
|
st.title("Bienvenue à Textra Web App") |
|
st.markdown("### Drag and Drop votre facture ici:") |
|
st.write("(PNG, JPG, JPEG)") |
|
uploaded_file = st.file_uploader("Ou selectioner une image:", type=["png", "jpg", "jpeg"], accept_multiple_files=False) |
|
|
|
if uploaded_file is not None: |
|
image_initiale = Image.open(uploaded_file) |
|
image_initiale = image_initiale.convert("RGB") |
|
@st.cache_data |
|
def process_image(uploaded_file): |
|
image = Image.open(uploaded_file) |
|
image = image.convert("RGB") |
|
return Draw(image) |
|
|
|
|
|
image, Results = process_image(uploaded_file) |
|
Change_Image(image,image_initiale) |
|
st.sidebar.title('Results') |
|
|
|
|
|
text_fourni = st.sidebar.text_input("Fournisseur", value=Results["Fournisseur"]) |
|
text_InvDate = st.sidebar.text_input("Date Facture", value=Results["Date Facture"]) |
|
text_InvNum = st.sidebar.text_input("Numéro de facture", value=Results["Numéro de facture"]) |
|
text_TT = st.sidebar.text_input("Total HT", value=Results["Total HT"]) |
|
text_TTC = st.sidebar.text_input("TTC", value=Results["Total TTC"]) |
|
text_TVA = st.sidebar.text_input("TVA", value=Results["TVA"]) |
|
|
|
st.write("Predicted Text:", text_fourni, text_InvDate, text_InvNum, text_TT, text_TVA, text_TTC) |
|
|
|
New_results = { |
|
"Fournisseur": text_fourni, |
|
"Date Facture": text_InvDate, |
|
"Numéro de facture": text_InvNum, |
|
"Total HT": text_TT, |
|
"TVA": text_TVA, |
|
"Total TTC": text_TTC |
|
} |
|
|
|
|
|
if check_if_changed(Results,New_results): |
|
st.write(check_if_changed(Results,New_results)) |
|
|
|
if st.sidebar.button("Sauvegarder"): |
|
|
|
updated_results = New_results |
|
success_message = st.sidebar.empty() |
|
success_message.success("Les résultats ont été sauvegardés avec succès !") |
|
time.sleep(1) |
|
success_message.empty() |
|
|