LaurentTRIPIED commited on
Commit
e466f0b
·
verified ·
1 Parent(s): c010f77

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -18
app.py CHANGED
@@ -1,38 +1,55 @@
 
1
  import PyPDF2
2
  import json
3
 
 
4
  def extract_text_from_pdf(pdf_path):
5
- """
6
- Extrait le texte de chaque page du fichier PDF spécifié et retourne
7
- une liste de dictionnaires avec le numéro de page et le texte.
8
-
9
- :param pdf_path: Chemin vers le fichier PDF à lire.
10
- :return: Liste de dictionnaires contenant le numéro de page et le texte extrait.
11
- """
12
  text = []
13
  with open(pdf_path, 'rb') as file:
14
  pdf_reader = PyPDF2.PdfReader(file)
15
- # Utilisation de l'index de la boucle pour obtenir le numéro de page
16
  for i, page in enumerate(pdf_reader.pages):
17
  text.append({"page": i + 1, "text": page.extract_text()})
18
  return text
19
 
 
20
  def save_text_to_json(data, output_file):
21
- """
22
- Sauvegarde les données fournies dans un fichier JSON.
23
-
24
- :param data: Données à sauvegarder (liste de dictionnaires).
25
- :param output_file: Chemin du fichier JSON de sortie.
26
- """
27
  with open(output_file, 'w', encoding='utf-8') as f:
28
  json.dump(data, f, ensure_ascii=False, indent=4)
29
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  # Chemin vers le fichier PDF et le fichier JSON de sortie
31
  pdf_path = 'data/07-VF2_UDM_Oneframe_A4-2023.pdf'
32
  json_output_path = 'data/extracted_text.json'
33
 
34
- # Exécution des fonctions pour extraire le texte et sauvegarder en JSON
35
- pdf_text = extract_text_from_pdf(pdf_path)
36
- save_text_to_json(pdf_text, json_output_path)
 
 
 
 
 
 
37
 
38
- print(f"Le texte a été extrait et sauvegardé dans {json_output_path}")
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
  import PyPDF2
3
  import json
4
 
5
+ # Fonction pour extraire le texte du PDF
6
  def extract_text_from_pdf(pdf_path):
 
 
 
 
 
 
 
7
  text = []
8
  with open(pdf_path, 'rb') as file:
9
  pdf_reader = PyPDF2.PdfReader(file)
 
10
  for i, page in enumerate(pdf_reader.pages):
11
  text.append({"page": i + 1, "text": page.extract_text()})
12
  return text
13
 
14
+ # Fonction pour sauvegarder le texte dans un fichier JSON
15
  def save_text_to_json(data, output_file):
 
 
 
 
 
 
16
  with open(output_file, 'w', encoding='utf-8') as f:
17
  json.dump(data, f, ensure_ascii=False, indent=4)
18
 
19
+ # Fonction pour afficher le contenu du fichier JSON
20
+ def display_json_contents(file_path):
21
+ try:
22
+ with open(file_path, 'r', encoding='utf-8') as f:
23
+ data = json.load(f)
24
+ st.write(data)
25
+ except FileNotFoundError:
26
+ st.error(f"Le fichier {file_path} n'a pas été trouvé.")
27
+
28
+ # Interface Streamlit
29
+ st.title("Extracteur de Texte PDF et Sauvegarde en JSON")
30
+
31
  # Chemin vers le fichier PDF et le fichier JSON de sortie
32
  pdf_path = 'data/07-VF2_UDM_Oneframe_A4-2023.pdf'
33
  json_output_path = 'data/extracted_text.json'
34
 
35
+ # Bouton pour lancer l'extraction et la sauvegarde
36
+ if st.button('Extraire le texte du PDF et sauvegarder en JSON'):
37
+ pdf_text = extract_text_from_pdf(pdf_path)
38
+ save_text_to_json(pdf_text, json_output_path)
39
+ st.success("Le texte a été extrait et sauvegardé.")
40
+
41
+ # Bouton pour afficher le contenu du fichier JSON
42
+ if st.button('Afficher le contenu JSON'):
43
+ display_json_contents(json_output_path)
44
 
45
+ # Option pour télécharger le fichier JSON
46
+ try:
47
+ with open(json_output_path, 'r', encoding='utf-8') as f:
48
+ download = st.download_button(
49
+ label="Télécharger le JSON",
50
+ data=f,
51
+ file_name="extracted_text.json",
52
+ mime="application/json"
53
+ )
54
+ except FileNotFoundError:
55
+ st.error(f"Le fichier {json_output_path} n'est pas disponible pour téléchargement.")