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, 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 :
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 :
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 :
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 :
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()
Top comments (0)