from ironpdf import *
# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
# Export to a file or Stream
pdf.SaveAs("output.pdf")
# Advanced Example with HTML Assets
# Load external html assets: Images, CSS and JavaScript.
# An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", r"C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
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 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.
Conditions préalables
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.
Bibliothèque IronPDF : Installez la bibliothèque IronPDF pour accéder à ses fonctionnalités. Vous pouvez l'installer à l'aide du gestionnaire de paquets Python(pip) en exécutant la commande suivante dans votre interface de ligne de commande :
:InstallCmd pip install ironpdf
Bibliothèque Tkinter : Tkinter est la boîte à outils graphique 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
Bibliothèque Pillow : La bibliothèque Pillow est un dérivé de la bibliothèque d'imagerie Python(LIP) et offre des possibilité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
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/).
Éditeur de texte : Si vous préférez travailler avec un éditeur de texte léger, vous pouvez utiliser l'é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 :
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
Créer les fichiers sources: PyCharm va créer la structure du projet, y compris un fichier Python principal et un répertoire pour les fichiers sources 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 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
import os
import shutil
import ironpdf
from tkinter import *
from PIL import Image, ImageTk
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 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
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
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)
def on_closing():
# Delete the images in the 'images' folder
shutil.rmtree("images")
window.destroy()
window.protocol("WM_DELETE_WINDOW", on_closing)
PYTHON
Créer la fenêtre de l'interface graphique
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.
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.
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.
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éthodede la bibliothèque PIL, un objet PhotoImage est créé en utilisant ImageTk.PhotoImage(). Créez ensuite un widgetLabel` 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)
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)
PYTHON
**Le fichier d'entrée
Exécuter la boucle principale de l'interface graphique
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()
window.mainloop()
PYTHON
La sortie de l'interface utilisateur
Conclusion
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.
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
< PRÉCÉDENT Comment extraire du texte d'un PDF en Python
SUIVANT > Comment convertir un PDF en texte en Python (Tutoriel)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier