IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Comment réorganiser un fichier pdf (converti en txt) en paragraphe?


Sujet :

Python

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2020
    Messages : 4
    Par défaut Comment réorganiser un fichier pdf (converti en txt) en paragraphe?
    Je travaille sur un projet de sous-titrage et pour mon jeu de données je dois extraire les images et leur légende du fichier pdfs.

    J'utilise pdftotext pour extraire le texte des pdfs mais maintenant je dois réorganiser ces fichiers texte en paragraphes conformément aux pdfs.

    J'utilise ce code mais je ne suis pas satisfait car la structure du texte de sortie n'est pas exactement ce que je veux.

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    import re
    import os
    from os import listdir
     
    text_directory = 'Texte'
     
    for name in listdir(text_directory):
        filename = text_directory + '/' + name
        #open the text file
        with open(filename,encoding="utf8") as file:
            data = file.read()
            # Split text by 2 line break to have a kind of bloc
            paragraphs = [item for item in data.split('\n\n') if item]
            rawParagraphs = []
            for paragraph in paragraphs:
                newParagraph = []
                # Split the bloc by line break 
                lines = paragraph.split('\n')
                for line in lines: 
                    # Split lines by 2 white spaces to have kind of colones
                    cols = [item for item in line.split('  ') if item]
                    newParagraph.append(cols)
                # Find max cols of pg
                maxcol = max([len(line) for line in newParagraph])
                # Patch lines
                for index, line in enumerate(newParagraph):
                    if len(line)< maxcol:
                        if lines[index].startswith(' '):
                            for i in range(maxcol-len(line)):
                                line.insert(0, '')
                        else:
                            for i in range(maxcol-len(line)):
                                line.append('')
                    newParagraph[index]= line
                rawParagraph = []
                # Join line to have paragraph per colones
                for i in range(maxcol):
                    for j in range(len(newParagraph)):
                        rawParagraph.append(newParagraph[j][i])
                rawParagraph = ' '.join(rawParagraph).replace('- ','')
                rawParagraphs.append(rawParagraph)
                # Create a text file to write the new paragraph
                textcle = open("Text_org" + "/" + name ,"w",encoding="utf8")
                # Get new paragraph
                references = [paragraph for paragraph in rawParagraphs if paragraph]
                # Write the paragraph in the texte file
                for index, reference in enumerate(references):
                    text = f"{index} {reference}\n\n"
                    textcle.write(text)
                textcle.close

    Par exemple j'ai ce fichier 13.txt et reorganisé en .txt

    Quelqu'un peut-il m'aider à le perfectionner? Ou existe-t-il une autre façon de le faire facilement?
    Fichiers attachés Fichiers attachés
    • Type de fichier : txt .txt (27,1 Ko, 45 affichages)
    • Type de fichier : txt 13.txt (35,7 Ko, 22 affichages)

Discussions similaires

  1. [FPDF] Comment afficher un fichier pdf
    Par kidoo dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 21/10/2006, 13h30
  2. Question bête:Comment ouvrir un fichier pdf dans le browser IE?
    Par karibouxe dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 19/05/2006, 17h51
  3. Comment imprimer un fichier Pdf directement à partir de Delphi ?
    Par toumoham dans le forum API, COM et SDKs
    Réponses: 11
    Dernier message: 07/12/2005, 15h28
  4. [C#] Comment imprimer un fichier .pdf ?
    Par petoulachi dans le forum C#
    Réponses: 9
    Dernier message: 05/10/2005, 15h30
  5. Réponses: 9
    Dernier message: 20/06/2005, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo