Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Le format PDF est un format de fichier très répandu pour le partage de documents. Il s'agit d'un format polyvalent pour les informations documentaires, qui peut être consulté sur une variété d'appareils, et qui peut également être protégé par des autorisations de sécurité.
En Python, il existe un certain nombre de bibliothèques qui peuvent être utilisées pour lire et manipuler des documents PDF. L'une de ces bibliothèques est IronPDF. IronPDF est une bibliothèque puissante qui offre un large éventail de fonctionnalités pour travailler avec des documents PDF.
Dans cet article, nous allons apprendre à visualiser 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.
Voici quelques caractéristiques de la bibliothèque IronPDF for Python :
Diviser et fusionner des PDF
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 page Site web d'IronPDF à obtenir une clé de licence.
Avant de travailler avec IronPDF for Python, il y a quelques prérequis à mettre en place :
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é l'IDE PyCharm, créez un projet python PyCharm 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.
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".
Pour commencer, nous devons importer les bibliothèques nécessaires. Dans ce cas, nous avons besoin des bibliothèques os
, shutil
, ironpdf
, tkinter
, et PIL
. 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, shutil, ironpdf
from tkinter import *
from PIL import Image, ImageTk
Ensuite, nous définissons une fonction appelée convert_pdf_to_images
. Cette fonction prend en entrée le chemin du fichier PDF. Dans la fonction, nous utilisons la bibliothèque IronPDF pour charger le document PDF à partir du fichier. Nous spécifions ensuite un chemin d'accès au dossier pour stocker les fichiers images 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é. Nous créons également une liste 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 de documents PDF, visitez cette page d'exemples de code lien.
Afin de nettoyer les fichiers d'images extraits lorsque la fenêtre de l'application est fermée, nous définissons une fonction(n) fonction on_closing
. Dans cette fonction, nous utilisons la fonction shutil.rmtree()
pour supprimer l'intégralité du dossier images
. Nous avons également défini 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)
Maintenant, nous créons la fenêtre principale de l'interface graphique en utilisant la fonction Tk()
constructeur. Nous fixons le titre de la fenêtre à "Image Viewer" et définissons 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)
Pour afficher les images et permettre le défilement, nous créons 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)
. Nous créons également un widget Scrollbar
et le configurons 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"))
Ensuite, nous créons un widget Frame
à l'intérieur du canevas pour contenir les images. Nous utilisons 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")
Nous appelons 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. Nous parcourons les chemins d'accès aux images et chargeons chaque image à l'aide de la fonction Image.open()
de la bibliothèque PIL. Nous créons ensuite un objet PhotoImage
en utilisant ImageTk.PhotoImage
()et créer 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)
Enfin, nous lançons 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()
Dans ce tutoriel, nous avons appris à afficher des documents PDF en Python à l'aide de la fonction IronPDF bibliothèque. Nous avons abordé les étapes nécessaires à l'ouverture d'un fichier PDF et à sa conversion en une série de fichiers images, puis à leur affichage dans un canevas défilant et à la gestion du 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 section la documentation.
Télécharger et installer IronPDF Python et obtenir également un essai 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