Spaces:
Sleeping
Sleeping
Commit
•
4375cde
1
Parent(s):
8bdb0b0
Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import fitz # Import de PyMuPDF
|
2 |
+
import json
|
3 |
+
import os
|
4 |
+
|
5 |
+
def extract_text_from_pdf(pdf_path):
|
6 |
+
"""
|
7 |
+
Extrait le texte de chaque page d'un fichier PDF.
|
8 |
+
|
9 |
+
:param pdf_path: Chemin vers le fichier PDF.
|
10 |
+
:return: Liste de dictionnaires avec le texte de chaque page et le numéro de page.
|
11 |
+
"""
|
12 |
+
# Ouvre le fichier PDF
|
13 |
+
with fitz.open(pdf_path) as doc:
|
14 |
+
pages_text = []
|
15 |
+
# Parcourt chaque page
|
16 |
+
for page_num, page in enumerate(doc, start=1):
|
17 |
+
# Extrait le texte de la page
|
18 |
+
page_text = page.get_text()
|
19 |
+
pages_text.append({"page": page_num, "text": page_text})
|
20 |
+
return pages_text
|
21 |
+
|
22 |
+
def save_text_to_json(data, output_file):
|
23 |
+
"""
|
24 |
+
Sauvegarde le texte extrait dans un fichier JSON.
|
25 |
+
|
26 |
+
:param data: Les données à sauvegarder (liste de dictionnaires).
|
27 |
+
:param output_file: Chemin du fichier JSON de sortie.
|
28 |
+
"""
|
29 |
+
with open(output_file, 'w', encoding='utf-8') as f:
|
30 |
+
json.dump(data, f, ensure_ascii=False, indent=4)
|
31 |
+
|
32 |
+
# Chemin vers le fichier PDF dans le répertoire data/
|
33 |
+
pdf_path = 'data/07-VF2_UDM_Oneframe_A4-2023.pdf'
|
34 |
+
# Chemin du fichier JSON de sortie
|
35 |
+
json_output_path = 'data/extracted_text.json'
|
36 |
+
|
37 |
+
# Vérification de l'existence du répertoire data/
|
38 |
+
if not os.path.exists('data'):
|
39 |
+
os.makedirs('data')
|
40 |
+
|
41 |
+
# Extrait le texte du PDF
|
42 |
+
pdf_text = extract_text_from_pdf(pdf_path)
|
43 |
+
|
44 |
+
# Sauvegarde le texte dans un fichier JSON
|
45 |
+
save_text_to_json(pdf_text, json_output_path)
|
46 |
+
|
47 |
+
print(f"Le texte a été extrait et sauvegardé dans {json_output_path}")
|