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
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()
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)
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)
Sujets connexes
- Python : Trouver et surligner du texte dans un PDF
- Python : Ajouter des hyperliens dans un PDF
- Python : Créer des listes ordonnées, non ordonnées et imbriquées dans un document PDF
- Python : Ajouter, remplacer ou supprimer des images dans un document PDF
- Python : Compter le nombre de pages dans un fichier PDF
Top comments (0)