UTILISATION D'IRONPDF POUR PYTHON

Comment visualiser un fichier PDF en Python

Cet article explorera la manière d'afficher des fichiers PDF en Python à l'aide de la bibliothèque IronPDF.

IronPDF - Bibliothèque Python

IronPDF est une bibliothèque Python puissante qui permet aux développeurs de travailler de manière programmatique avec des fichiers PDF. Avec IronPDF, vous pouvez facilement générer, manipuler et extraire des données de documents PDF, ce qui en fait un outil polyvalent pour diverses tâches liées aux PDF. Que vous ayez besoin de créer des PDF à partir de zéro, de modifier des PDF existants ou d'extraire du contenu de PDF, IronPDF offre un ensemble complet de fonctionnalités pour simplifier votre flux de travail.

Parmi les caractéristiques de la bibliothèque IronPDF for Python, citons :

Conditions préalables

Avant de travailler avec IronPDF for Python, il y a quelques prérequis :

  1. Installation de Python : Assurez-vous que Python est installé sur votre système. IronPDF est compatible avec les versions 3.x de Python, assurez-vous donc d'avoir une installation Python compatible.

  2. Bibliothèque IronPDF : Installez la bibliothèque IronPDF pour accéder à ses fonctionnalités. Vous pouvez l'installer en utilisant le gestionnaire de packages Python (pip) en exécutant la commande suivante dans votre interface en ligne de commande :
    :InstallCmd pip install ironpdf
    :InstallCmd pip install ironpdf
SHELL
  1. Bibliothèque Tkinter : Tkinter est l'outil GUI standard pour Python. Il est utilisé pour créer l'interface utilisateur graphique du visualiseur PDF dans l'extrait de code fourni. Tkinter est généralement préinstallé avec Python, mais si vous rencontrez des problèmes, vous pouvez l'installer à l'aide du gestionnaire de paquets :
    :InstallCmd pip install tkinter
    :InstallCmd pip install tkinter
SHELL
  1. Bibliothèque Pillow : La bibliothèque Pillow est un fork de la bibliothèque Python Imaging Library (PIL) et offre des capacités supplémentaires de traitement d'images. Il est utilisé dans l'extrait de code pour charger et afficher les images extraites du PDF. Installez Pillow à l'aide du gestionnaire de paquets :
    :InstallCmd pip install pillow
    :InstallCmd pip install pillow
SHELL
  1. Environnement de Développement Intégré (IDE) : Utiliser un IDE pour gérer les projets Python peut grandement améliorer votre expérience de développement. Il offre des fonctionnalités telles que la complétion de code, le débogage et un flux de travail plus rationalisé. PyCharm est un IDE populaire pour le développement de Python. Vous pouvez télécharger et installer PyCharm depuis le site Web de JetBrains (https://www.jetbrains.com/pycharm/).

  2. Éditeur de texte : Alternativement, si vous préférez travailler avec un éditeur de texte léger, vous pouvez utiliser n'importe quel éditeur de texte de votre choix, tel que Visual Studio Code, Sublime Text ou Atom. Ces éditeurs proposent la coloration syntaxique et d'autres fonctionnalités utiles pour le développement de Python. Vous pouvez également utiliser l'application IDE de Python pour créer des scripts Python.

Création d'un projet de visualisation de PDF avec PyCharm

Après avoir installé PyCharm IDE, créez un projet PyCharm Python en suivant les étapes ci-dessous :

  1. Lancez PyCharm : Ouvrez PyCharm depuis le lanceur d'applications de votre système ou le raccourci sur le bureau.

  2. Créer un nouveau projet : Cliquez sur "Créer un nouveau projet" ou ouvrez un projet Python existant.

    Comment convertir un PDF en texte en Python (Tutoriel), Figure 1 : PyCharm IDE

    PyCharm IDE

  3. Configurer les paramètres du projet : Fournissez un nom pour votre projet et choisissez l'emplacement pour créer le répertoire du projet. Sélectionnez l'interpréteur Python pour votre projet. Cliquez ensuite sur "Créer".

    Comment convertir un PDF en texte en Python (Tutoriel), Figure 2 : Créer un nouveau projet Python

    Créer un nouveau projet Python

  4. Créer des fichiers source : PyCharm créera la structure du projet, y compris un fichier principal Python et un répertoire pour les fichiers source supplémentaires. Commencez à écrire le code et cliquez sur le bouton d'exécution ou appuyez sur Shift+F10 pour exécuter le script.

Etapes pour visualiser des fichiers PDF en Python avec IronPDF for Python

Importer les bibliothèques nécessaires

Pour commencer, importez les bibliothèques nécessaires. Dans ce cas, les bibliothèques os, shutil, ironpdf, tkinter, et PIL seront nécessaires. Les bibliothèques os et shutil sont utilisées pour les opérations sur les fichiers et dossiers, ironpdf est la bibliothèque pour travailler avec les fichiers PDF, tkinter est utilisé pour créer l'interface graphique utilisateur (GUI) et PIL est utilisé pour la manipulation d'images.

import os
import shutil
import ironpdf
from tkinter import *
from PIL import Image, ImageTk
py
PYTHON

Convertir un document PDF en images

Ensuite, définissez une fonction appelée convert_pdf_to_images. Cette fonction prend en entrée le chemin du fichier PDF. À l'intérieur de la fonction, la bibliothèque IronPDF est utilisée pour charger le document PDF à partir du fichier. Il faut ensuite spécifier un chemin d'accès au dossier pour stocker les fichiers d'image extraits. La méthode pdf.RasterizeToImageFiles de IronPDF est utilisée pour convertir chaque page du PDF en un fichier image et l'enregistrer dans le dossier spécifié. Une liste est utilisée pour stocker les chemins d'accès aux images. L'exemple de code complet est le suivant :

def convert_pdf_to_images(pdf_file):
    pdf = ironpdf.PdfDocument.FromFile(pdf_file)
    # Extract all pages to a folder as image files
    folder_path = "images"
    pdf.RasterizeToImageFiles(os.path.join(folder_path, "*.png"))
    # List to store the image paths
    image_paths = []
    # Get the list of image files in the folder
    for filename in os.listdir(folder_path):
        if filename.lower().endswith((".png", ".jpg", ".jpeg", ".gif")):
            image_paths.append(os.path.join(folder_path, filename))
    return image_paths
py
PYTHON

Pour extraire du texte de documents PDF, visitez cette page d'exemples de code.

Poignée Fermeture de la fenêtre

Pour nettoyer les fichiers d'images extraites lorsque la fenêtre de l'application est fermée, définissez une fonction on_closing. À l'intérieur de cette fonction, utilisez la méthode shutil.rmtree() pour supprimer le dossier images en entier. Ensuite, définissez cette fonction comme le protocole à exécuter lorsque la fenêtre est fermée. Le code suivant permet de réaliser cette tâche :

def on_closing():
    # Delete the images in the 'images' folder
    shutil.rmtree("images")
    window.destroy()

window.protocol("WM_DELETE_WINDOW", on_closing)
py
PYTHON

Créer la fenêtre de l'interface graphique

Maintenant, créons la fenêtre principale de l'interface graphique en utilisant le constructeur Tk() en définissant le titre de la fenêtre sur "Image Viewer" et en définissant la fonction on_closing() comme protocole pour gérer la fermeture de la fenêtre.

window = Tk()
window.title("Image Viewer")
window.protocol("WM_DELETE_WINDOW", on_closing)
py
PYTHON

Créer un canevas déroulant

Pour afficher les images et activer le défilement, créez un widget Canvas. Le widget Canvas est configuré pour remplir l'espace disponible et s'étendre dans les deux directions en utilisant pack(side=LEFT, fill=BOTH, expand=True). De plus, créez un widget Scrollbar et configurez-le pour contrôler le défilement vertical de toutes les pages et du canevas.

canvas = Canvas(window)
canvas.pack(side=LEFT, fill=BOTH, expand=True)
scrollbar = Scrollbar(window, command=canvas.yview)
scrollbar.pack(side=RIGHT, fill=Y)
canvas.configure(yscrollcommand=scrollbar.set)
canvas.bind("<Configure>", lambda e: canvas.configure(
    scrollregion=canvas.bbox("all")))
canvas.bind_all("<MouseWheel>", lambda e: canvas.yview_scroll(
    int(-1*(e.delta/120)), "units"))
py
PYTHON

Créer un cadre pour les images

Ensuite, créez un widget Frame à l'intérieur du canvas pour contenir les images en utilisant create_window() afin de placer le cadre dans le canvas. Les coordonnées (0, 0) et le paramètre anchor='nw' garantissent que le cadre commence dans le coin supérieur gauche du canevas.

frame = Frame(canvas)
canvas.create_window((0, 0), window=frame, anchor="nw")
py
PYTHON

Convertir un fichier PDF en images et l'afficher

La prochaine étape consiste à appeler la fonction convert_pdf_to_images() avec le nom du chemin de fichier du fichier PDF d'entrée. Cette fonction extrait les pages du PDF sous forme d'images et renvoie une liste de chemins d'images. En itérant à travers les chemins d'image et en chargeant chaque image en utilisant la méthode Image.open() de la bibliothèque PIL, un objet PhotoImage est créé en utilisant ImageTk.PhotoImage(). Créez ensuite un widget Label pour afficher l'image.

images = convert_pdf_to_images("input.pdf")
# Load and display the images in the Frame
for image_path in images:
    image = Image.open(image_path)
    photo = ImageTk.PhotoImage(image)
    label = Label(frame, image=photo)
    label.image = photo  # Store a reference to prevent garbage collection
    label.pack(pady=10)
py
PYTHON

Comment convertir un PDF en texte en Python (Tutoriel), Figure 3 : Le fichier d'entrée

Le fichier d'entrée

Exécuter la boucle principale de l'interface graphique

Enfin, exécutons la boucle d'événements principale en utilisant window.mainloop(). Cela garantit que la fenêtre de l'interface graphique reste ouverte et réactive jusqu'à ce qu'elle soit fermée par l'utilisateur.

window.mainloop()
py
PYTHON

Comment convertir un PDF en texte en Python (Tutoriel), Figure 4 : Le rendu de l'interface utilisateur

La sortie de l'interface utilisateur

Conclusion

Ce tutoriel a exploré comment afficher des documents PDF en Python en utilisant la bibliothèque IronPDF. Elle couvre les étapes nécessaires pour ouvrir un fichier PDF et le convertir en une série de fichiers images, puis les afficher dans un canevas défilant, et gérer le nettoyage des images extraites à la fermeture de l'application.

Pour plus de détails sur la bibliothèque IronPDF for Python, veuillez vous référer à la documentation.

Téléchargez et installez la bibliothèque IronPDF for Python et obtenez également une version d'essai gratuite pour tester sa fonctionnalité complète dans le développement commercial.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT
Comment extraire du texte d'un PDF en Python
SUIVANT >
Comment convertir un PDF en texte en Python (Tutoriel)