Comment trouver et surligner du texte dans un fichier PDF avec Python
Tags: python, pdf
Published: 2023-11-21 10:19:50

Surligner du texte dans un fichier PDF facilite l'organisation et la catégorisation de l'information. Vous pouvez utiliser différentes couleurs ou styles pour représenter différents types de contenu, thèmes ou catégories. Cela facilite la navigation dans le document et la recherche d'informations spécifiques ultérieurement, améliorant ainsi l'organisation générale du document. Dans cet article, nous allons explorer comment **trouver et surligner du texte dans un fichier PDF avec Python**.

## Installer la bibliothèque requise
Avant de commencer le processus de recherche et de surlignement de texte dans un document PDF, il est essentiel d'installer la bibliothèque nécessaire. Dans cet article, nous utiliserons la bibliothèque [Spire.PDF for Python](https://www.e-iceblue.com/Introduce/pdf-for-python.html), qui vous permet de créer, lire, convertir et manipuler des fichiers PDF en Python.

Pour installer cette bibliothèque, ouvrez le terminal de votre projet et exécutez la commande pip suivante :
```python
pip install Spire.Pdf 
```

## Trouver et surligner du texte dans un fichier PDF avec Python
Une fois que vous avez installé Spire.PDF for Python, vous pouvez l'utiliser pour trouver et surligner un texte spécifique dans votre document PDF, trouver et surligner du texte dans une zone spécifique d'une page PDF ou trouver et surligner du texte à l'aide d'une expression régulière.

**Exemple 1. Trouver et surligner un texte spécifique dans un fichier PDF avec Python**

L'exemple de code suivant montre comment trouver et surligner un texte spécifique dans un document PDF en utilisant Python et Spire.PDF for Python :
```python
from spire.pdf import * 
from spire.pdf.common import * 
 
# Créer un objet de la classe PdfDocument et charger un document PDF 
pdf = PdfDocument() 
pdf.LoadFromFile("Sample.pdf") 
 
# Parcourir les pages du document PDF 
for i in range(pdf.Pages.Count): 
    # Obtenir une page 
    page = pdf.Pages.get_Item(i) 
    # Trouver toutes les occurrences du texte spécifique sur la page 
    result = page.FindText("serveur cloud", TextFindParameter.IgnoreCase).Finds 
    # Surligner toutes les occurrences 
    for text in result: 
        text.ApplyHighLight(Color.get_Cyan()) 
 
# Enregistrer le document 
pdf.SaveToFile("output/FindHighlight.pdf") 
pdf.Close() 
```
**Exemple 2. Trouver et surligner du texte dans une zone spécifique d'une page PDF avec Python**

L'exemple de code suivant montre comment trouver et mettre en évidence du texte dans une zone de page spécifique d'un document PDF en utilisant Python et Spire.PDF for Python :
```python
from spire.pdf.common import * 
from spire.pdf import * 
 
# Créer un objet de la classe PdfDocument et charger un document PDF 
pdf = PdfDocument() 
pdf.LoadFromFile("Sample.pdf") 
 
# Obtenir une page 
pdfPageBase = pdf.Pages.get_Item(0) 
 
# Définir une zone rectangulaire 
rctg = RectangleF(0.0, 0.0, pdfPageBase.ActualSize.Width, 300.0) 
 
# Trouver toutes les occurrences du texte spécifié dans la zone rectangulaire 
findCollection = pdfPageBase.FindText(rctg, "serveur cloud", TextFindParameter.IgnoreCase) 
 
# Trouver le texte dans le rectangle 
for find in findCollection.Finds: 
        # Surligner le texte recherché 
        find.ApplyHighLight(Color.get_Green()) 
 
# Enregistrer le document 
pdf.SaveToFile("output/FindHighlightArea.pdf") 
pdf.Close() 
```
**Exemple 3. Trouver et surligner du texte dans un fichier PDF à l'aide d'une expression régulière avec Python**

L'exemple de code suivant montre comment trouver et surligner du texte dans un document PDF à l'aide d'une expression régulière en utilisant Python et Spire.PDF for Python :
```python
from spire.pdf import * 
from spire.pdf.common import * 
 
# Créer un objet de la classe PdfDocument et charger un document PDF 
pdf = PdfDocument() 
pdf.LoadFromFile("Sample.pdf") 
 
# Spécifier l'expression régulière qui correspond à deux mots après * 
regex = "\\*(\\w+\\s+\\w+)" 
 
# Obtenir la deuxième page 
page = pdf.Pages.get_Item(1) 
 
# Trouver le texte correspondant sur la page en utilisant une expression régulière 
result = page.FindText(regex, TextFindParameter.Regex) 
 
# Surligner le texte correspondant 
for text in result.Finds: 
    text.ApplyHighLight(Color.get_DeepPink()) 
 
# Enregistrer le document 
pdf.SaveToFile("output/FindHighlightRegex.pdf") 
pdf.Close() 
```

## Sujets connexes

- [Python : Ajouter, masquer ou supprimer des calques dans un fichier PDF](https://www.e-iceblue.com/Tutorials/Python/Spire.PDF-for-Python/Program-Guide/Document-Operation/Python-Add-Hide-or-Remove-Layers-in-PDF.html)
- [Python : Appliquer différentes polices dans un fichier PDF](https://www.e-iceblue.com/Tutorials/Python/Spire.PDF-for-Python/Program-Guide/Font/Python-Apply-Different-Fonts-in-PDF.html)
- [Python : Définir et récupérer les propriétés d'un PDF](https://www.e-iceblue.com/Tutorials/Python/Spire.PDF-for-Python/Program-Guide/Document-Operation/Python-Set-and-Retrieve-PDF-Properties.html)
- [Python : Protéger ou déprotéger des documents PDF](https://www.e-iceblue.com/Tutorials/Python/Spire.PDF-for-Python/Program-Guide/Security/Python-Protect-or-Unprotect-PDF-Documents.html)
- [Python : Ajouter des tampons à un document PDF](https://www.e-iceblue.com/Tutorials/Python/Spire.PDF-for-Python/Program-Guide/Annotation/Python-Add-Stamps-to-a-PDF-Document.html)