Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Cet article explorera la manière d'afficher des fichiers PDF en Python à l'aide de la bibliothèque IronPDF.
IronPDF est une puissante bibliothèque Python qui permet aux développeurs de travailler avec des fichiers PDF de manière programmatique. 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 :
Note: IronPDF produit un fichier de données PDF filigrané. Pour supprimer le filigrane, vous devez acquérir une licence IronPDF. Si vous souhaitez utiliser une version sous licence d'IronPDF, visitez la pageSite web d'IronPDF àobtenir une clé de licence.
Avant de travailler avec IronPDF for Python, il y a quelques prérequis :
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.
:InstallCmd pip install ironpdf
:InstallCmd pip install tkinter
:InstallCmd pip install pillow
Environnement de développement intégré(L'IDE) : L'utilisation d'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 à partir du site web de JetBrains(https://www.jetbrains.com/pycharm/).
Après avoir installé PyCharm IDE, créez un projet PyCharm Python en suivant les étapes ci-dessous :
Lancer PyCharm: Ouvrez PyCharm à partir du lanceur d'applications de votre système ou d'un raccourci sur le bureau.
Créer un nouveau projet: Cliquez sur "Créer un nouveau projet" ou ouvrez un projet Python existant.
PyCharm IDE
Configurer les paramètres du projet: Donnez un nom à votre projet et choisissez l'endroit où créer le répertoire du projet. Sélectionnez l'interpréteur Python pour votre projet. Cliquez ensuite sur "Créer".
Créer un nouveau projet Python
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 les dossiers, ironpdf
est la bibliothèque pour travailler avec les fichiers PDF, tkinter
est utilisée pour créer l'interface utilisateur graphique(GUI)et la LIP est utilisée pour la manipulation de l'image.
import os
import shutil
import ironpdf
from tkinter import *
from PIL import Image, ImageTk
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
d'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
Pour extraire du texte à partir de documents PDF, visitez ce sitepage d'exemples de code.
Afin de nettoyer les fichiers images extraits lorsque la fenêtre de l'application est fermée, définissez une fonction on_closing
. À l'intérieur de cette fonction, utilisez la fonction shutil.rmtree()
pour supprimer l'intégralité du dossier images
. 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)
Créons maintenant la fenêtre principale de l'interface graphique à l'aide de l'outil Tk()la traduction doit rester professionnelle, en préservant l'exactitude technique tout en expliquant les caractéristiques et les avantages de ces outils de développement()
comme protocole pour gérer la fermeture de la fenêtre.
window = Tk()
window.title("Image Viewer")
window.protocol("WM_DELETE_WINDOW", on_closing)
Pour afficher les images et permettre le défilement, créez un widget Canvas
. Le widget Canvas
est configuré pour remplir l'espace disponible et s'étendre dans les deux sens en utilisant pack(side=LEFT, fill=BOTH, expand=True)
. En outre, créez un widget "barre de défilement" et configurez-le pour contrôler le défilement vertical de toutes les pages et de tous les 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"))
Ensuite, créez un widget Frame
à l'intérieur du canevas pour contenir les images en utilisant create_window()
pour placer le cadre dans la toile. Le (0, 0)
et le paramètre anchor='nw'
garantissent que le cadre commence dans le coin supérieur gauche de la toile.
frame = Frame(canvas)
canvas.create_window((0, 0), window=frame, anchor="nw")
L'étape suivante consiste à appeler la fonction convert_pdf_to_images()
avec le nom du chemin d'accès au fichier PDF d'entrée. Cette fonction extrait les pages PDF sous forme d'images et renvoie une liste de chemins d'accès aux images. En parcourant les chemins d'accès aux images et en chargeant chaque image à l'aide de la fonction Image.open()avec la méthode
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)
**Le fichier d'entrée
Enfin, exécutons la boucle événementielle 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()
La sortie de l'interface utilisateur
Ce tutoriel a exploré comment visualiser des documents PDF en Python à l'aide de l'outilIronPDF bibliothèque. 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 page d'accueil de la bibliothèquela documentation.
Télécharger et installerIronPDF for Python et obtenir également unessai gratuit pour tester l'ensemble de ses fonctionnalités dans le cadre d'un développement commercial.
9 produits de l'API .NET pour vos documents de bureau