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
|
import PyPDF2
def extraire_texte_depuis_pdf_protege(chemin_fichier, mot_de_passe):
with open(chemin_fichier, 'rb') as fichier:
lecteur_pdf = PyPDF2.PdfFileReader(fichier)
# Vérifie si le fichier est crypté
if lecteur_pdf.isEncrypted:
try:
lecteur_pdf.decrypt(mot_de_passe)
except:
return "Mot de passe incorrect ou autre erreur."
# Extraire le texte depuis chaque page
texte = ""
for num_page in range(lecteur_pdf.numPages):
page = lecteur_pdf.getPage(num_page)
texte += page.extractText()
return texte
# Test de la fonction
chemin_fichier = "mon_fichier_protege.pdf"
mot_de_passe = "mon_mot_de_passe"
texte = extraire_texte_depuis_pdf_protege(chemin_fichier, mot_de_passe)
print(texte) |