File size: 2,566 Bytes
901dbf6
cbaf8cc
901dbf6
 
cbaf8cc
 
 
 
 
 
73bc32e
 
901dbf6
73bc32e
901dbf6
 
ab1449b
 
6288d29
 
 
 
 
ab1449b
6288d29
 
ab1449b
fdd783a
a7b9e38
cbaf8cc
 
 
 
 
 
 
a7b9e38
cbaf8cc
 
 
 
 
 
 
 
 
 
 
 
b505ae1
cbaf8cc
 
 
 
 
 
 
 
 
 
 
 
 
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
62
63
64
import streamlit as st
from utilitis import Draw, Add_Results, Change_Image
from PIL import Image

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_TVA = st.sidebar.text_input("TTC", value=Results["Total TTC"])
    text_TTC = st.sidebar.text_input("TVA", value=Results["TVA"])
    
    st.write("Predicted Text:", text_fourni, text_InvDate, text_InvNum, text_TT, text_TVA, text_TTC)
    
    # Check if any input has been changed
    if check_if_changed(Results, {
        "Fournisseur": text_fourni,
        "Date Facture": text_InvDate,
        "Numéro de facture": text_InvNum,
        "Total HT": text_TT,
        "TVA": text_TVA,
        "TTC": text_TTC
    }):
        # Add a button to save changes
           if st.sidebar.button("Sauvegarder"):
            # Get updated values from text inputs
            updated_results = {
                "Fournisseur": text_fourni,
                "Date Facture": text_InvDate,
                "Numéro de facture": text_InvNum,
                "Total HT": text_TT,
                "TVA": text_TVA,
                "TTC": text_TTC
            }
            
            # Perform action to save updated results (e.g., update database, save to file)
            # Add_Results(updated_results)
            st.success("Les résultats ont été sauvegardés avec succès !")