File size: 2,402 Bytes
901dbf6
cbaf8cc
901dbf6
51113c2
901dbf6
cbaf8cc
 
 
 
 
 
73bc32e
 
901dbf6
73bc32e
901dbf6
 
ab1449b
 
6288d29
 
 
 
 
ab1449b
6288d29
 
ab1449b
fdd783a
a7b9e38
cbaf8cc
 
 
 
 
745dfe3
 
a7b9e38
cbaf8cc
 
745dfe3
cbaf8cc
 
 
 
 
745dfe3
 
 
 
 
 
cbaf8cc
745dfe3
cbaf8cc
745dfe3
51113c2
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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)
    
    # Process the image and retrieve results
    image, Results = process_image(uploaded_file)
    Change_Image(image,image_initiale)
    st.sidebar.title('Results')
    
    # Define text inputs with initial values
    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
    }
    
    # Check if any input has been changed
    if check_if_changed(Results,New_results):
        st.write(check_if_changed(Results,New_results))
        # Add a button to save changes
        if st.sidebar.button("Sauvegarder"):
            # Get updated values from text inputs
            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()