DEV Community

Liam Anderson
Liam Anderson

Posted on

Comment extraire du texte d'un PDF avec Python

Les fichiers PDF sont souvent créés sous forme de documents statiques difficiles à modifier directement. Extraire du texte d'un PDF vous permet de le convertir dans un format modifiable, tel qu'un document de traitement de texte. Cela facilite les modifications, les mises à jour et les révisions, ce qui vous fait gagner du temps et des efforts par rapport à la recréation manuelle du contenu à partir de zéro. Cet article explorera comment extraire du texte à partir de documents PDF en utilisant Python.

Prérequis

Pour extraire du texte d'un PDF en utilisant Python, vous pouvez utiliser différentes bibliothèques qui offrent des capacités d'analyse des PDF. Une bibliothèque populaire à cet effet est Spire.PDF for Python.

Avant de commencer le processus de codage, vous devez installer Spire.PDF for Python en utilisant pip en exécutant la commande suivante :

pip install Spire.Pdf
Enter fullscreen mode Exit fullscreen mode

Extraire du texte d'un PDF avec Python

Spire.PDF for Python offre aux développeurs une large gamme de fonctionnalités pour extraire du texte à partir de documents PDF dans différents scénarios. Par exemple, vous pouvez extraire du texte à partir d'un PDF entier, extraire du texte d'une page PDF spécifique ou extraire du texte d'une zone rectangulaire d'une page PDF.

Exemple 1. Extraire du texte d'un PDF entier en Python

Voici un exemple de comment vous pouvez extraire du texte d'un fichier PDF en utilisant Python et Spire.PDF for Python :

from spire.pdf import *
from spire.pdf.common import *

# Créer une instance de la classe PdfDocument
pdf = PdfDocument()

# Charger le document PDF
pdf.LoadFromFile("Sample.pdf")

# Créer un fichier TXT pour enregistrer le texte extrait
extractedText = open("output/ExtractedText.txt", "w", encoding="utf-8")

# Parcourir les pages du document
for i in range(pdf.Pages.Count):
    # Obtenir la page
    page = pdf.Pages.get_Item(i)   
    # Créer un objet PdfTextExtractot
    textExtractor = PdfTextExtractor(page)
    # Créer un objet PdfTextExtractOptions
    extractOptions = PdfTextExtractOptions()
    # Définir IsExtractAllText sur True
    extractOptions.IsExtractAllText = True
    # Extraire le texte de la page en conservant les espaces blancs
    text = textExtractor.ExtractText(extractOptions)
    # Écrire le texte dans le fichier texte
    extractedText.write(text + "\n")

extractedText.close()
pdf.Close()
Enter fullscreen mode Exit fullscreen mode

Exemple 2. Extraire du texte d'une page PDF spécifique en Python

Voici un exemple de comment vous pouvez extraire du texte d'une page PDF spécifique en utilisant Python et Spire.PDF for Python :

from spire.pdf.common import *
from spire.pdf import *

# Créer un objet PdfDocument
doc = PdfDocument()

# Charger un document PDF
doc.LoadFromFile('C:/Users/Administrator/Desktop/Terms of service.pdf')

# Obtenir une page spécifique
page = doc.Pages[1]

# Créer un objet PdfTextExtractot
textExtractor = PdfTextExtractor(page)

# Créer un objet PdfTextExtractOptions
extractOptions = PdfTextExtractOptions()

# Définir IsExtractAllText sur True
extractOptions.IsExtractAllText = True

# Extraire le texte de la page en conservant les espaces blancs
text = textExtractor.ExtractText(extractOptions)

# Écrire le texte dans un fichier txt
with open('output/TextOfPage.txt', 'w') as file:
    file.write(text)
Enter fullscreen mode Exit fullscreen mode

Exemple 3. Extraire du texte d'une zone rectangulaire d'une page PDF en Python

Voici un exemple de comment vous pouvez extraire du texte d'une zone rectangulaire d'une page PDF en utilisant Python et Spire.PDF for Python :

from spire.pdf.common import *
from spire.pdf import *

# Créer un objet PdfDocument
doc = PdfDocument()

# Charger un document PDF
doc.LoadFromFile('C:/Users/Administrator/Desktop/Terms of service.pdf')

# Obtenir une page spécifique
page = doc.Pages[1]

# Créer un objet PdfTextExtractot
textExtractor = PdfTextExtractor(page)

# Créer un objet PdfTextExtractOptions
extractOptions = PdfTextExtractOptions()

# Définir la zone rectangulaire
extractOptions.ExtractArea = RectangleF(0.0, 100.0, 890.0, 80.0)

# Extraire le texte de la zone rectangulaire en conservant les espaces blancs
text = textExtractor.ExtractText(extractOptions)

# Écrire le texte dans un fichier txt
with open('output/TextOfRectangle.txt', 'w') as file:
    file.write(text)
Enter fullscreen mode Exit fullscreen mode

Sujets connexes

Top comments (0)