Преглед изворни кода

meilleurs gestion des paragraphes

main
Alex пре 2 недеља
родитељ
комит
9a0935c6e6
1 измењених фајлова са 10 додато и 6 уклоњено
  1. 10
    6
      main.py

+ 10
- 6
main.py Прегледај датотеку

@@ -129,7 +129,7 @@ def extract_text_from_pdf(pdf_path):
text_by_page.append(text)
return text_by_page

def merge_paragraphs_across_pages(pages_text):
def split_pages_in_paragraphs(pages_text):
"""
Divise le texte en paragraphes en détectant un point suivi d'un saut de ligne ou d'un retour à la ligne.
Conserve les sauts de ligne à l'intérieur des paragraphes.
@@ -139,11 +139,15 @@ def merge_paragraphs_across_pages(pages_text):
# Concatène tout le texte
full_text = "\n".join(pages_text)

# Divise le texte en paragraphes : un point suivi d'un saut de ligne ou d'un retour à la ligne
# Remplace les sauts de ligne à l'intérieur des paragraphes par des espaces
# (pour éviter les sauts de ligne intempestifs dans un même paragraphe)
full_text = re.sub(r'(?<![.!?])\n+(?![.!?])', ' ', full_text)

# Divise le texte en paragraphes : un point suivi d'un saut de ligne
paragraphs = re.split(r'(?<=[.!?])\s*\n+', full_text.strip())

# Conserve les sauts de ligne à l'intérieur des paragraphes
paragraphs = [p.strip() for p in paragraphs if p.strip()]
# Nettoie chaque paragraphe : remplace les sauts de ligne restants par des espaces
paragraphs = [re.sub(r'\s+', ' ', p).strip() for p in paragraphs if p.strip()]

return paragraphs

@@ -234,7 +238,7 @@ def create_pdf_from_results(results, output_path):
# Préserver la mise en page en convertissant les sauts de ligne
formatted_text = translation.replace("\n", "<br/>")
story.append(Paragraph(formatted_text, body_style))
story.append(Spacer(1, 0.1*inch))
# story.append(Spacer(1, 0.1*inch))
# Infos sur le LLM
story.append(Spacer(1, 0.2*inch))
@@ -253,7 +257,7 @@ def main():
print(f"Nombre de pages extraites : {len(pages)}")
# Fusion des paragraphes qui s'étendent sur plusieurs pages
paragraphs = merge_paragraphs_across_pages(pages)
paragraphs = split_pages_in_paragraphs(pages)
print(f"Nombre de paragraphes complets extraits : {len(paragraphs)}")

# Dictionnaire pour stocker les résultats

Loading…
Откажи
Сачувај