Aug 14, 2023
Comment convertir une image en PDF à l'aide de Python
Organisez vos images en PDF et apprenez à utiliser Tkinter pour créer cet utilitaire pratique. Des rapports commerciaux aux portfolios de photographies, vous aurez souvent besoin d'utiliser des images dans des PDF. Un
Organisez vos images en PDF et apprenez à utiliser Tkinter pour créer cet utilitaire pratique.
Des rapports commerciaux aux portfolios de photographies, vous aurez souvent besoin d'utiliser des images dans des PDF. Un convertisseur d'image en PDF peut aider à rationaliser le processus. Bien qu'il existe de nombreux outils gratuits disponibles en ligne, la nécessité pour vous de télécharger des images peut poser un problème de confidentialité ou de sécurité.
Au lieu de cela, vous pouvez créer un convertisseur d'image en PDF hors ligne à l'aide de Python. Sélectionnez plusieurs images au format JPG ou PNG, obtenez un aperçu et convertissez-les en PDF tout en conservant la taille de l'image d'origine.
Tkinter est la bibliothèque GUI standard pour Python. Il propose une variété de widgets tels que des boutons, des étiquettes et des zones de texte qui facilitent le développement d'applications telles qu'un lecteur de musique ou un outil de conversion de poids. Pour installer Tkinter sur votre système, ouvrez un terminal et tapez :
Le module Pillow est une puissante bibliothèque d'imagerie Python qui facilite l'exécution d'opérations sur les images telles que le redimensionnement, le recadrage et le filtrage. En l'intégrant à l'API OpenAI et DALL·E 2, vous pouvez générer des images à l'aide d'une invite de texte.
Pour installer Pillow, exécutez cette commande :
ReportLab est une bibliothèque Python open source permettant de générer des PDF et des graphiques. Il dispose de divers outils que vous pouvez utiliser pour générer des documents avec des images, du texte et des tableaux, ce qui rend utile la génération de rapports via la programmation. Avec cela, vous pouvez créer des rapports commerciaux, des factures et des certificats tout en ajoutant un filigrane de texte. Pour installer ReportLab :
Vous pouvez trouver l'intégralité du code source pour créer le convertisseur d'image en PDF à l'aide de Python dans ce référentiel GitHub.
Importez les modules nécessaires et créez une classe nomméeConvertisseur ImageVersPDF . Définissez une méthode constructeur qui initialise la classe et prend l'objet fenêtre racine de Tkinter comme argument. Initialisez une liste vide pour stocker les chemins des images sélectionnées par l'utilisateur. Définissez le titre et les dimensions de l'application. Créez deux boutons nommésSélectionnez des imagesetConvertir en PDF.
Passez la fenêtre dans laquelle vous souhaitez placer le bouton, le texte qu'ils doivent afficher, la commande qu'ils doivent exécuter lorsque vous cliquez dessus et le format de police qu'ils doivent appliquer. Organisez les boutons à l'aide dupaquet()méthode et donnez-leur un remplissage de 10 dans le sens vertical.
Définissez une étiquette en lui transmettant la fenêtre parent dans laquelle la placer, le texte qu'elle doit afficher, le format de police qu'elle doit utiliser et un remplissage vertical de 10 (pixels).
De même, définissez un cadre pour prévisualiser l'image sélectionnée et définissez sa fenêtre parent, sa largeur et sa hauteur. Organisez-le avec un rembourrage de 10.
Définir une méthode,sélectionner_images() . Utilisez celui de Tkinterboîte de dialogue de fichierclasse pour ouvrir une boîte de dialogue pour sélectionner plusieurs images et les stocker dans leimages_path liste. Transmettez le répertoire initial que la boîte de dialogue doit ouvrir, le titre qu'elle doit afficher et les types de fichiers qu'elle permet de sélectionner.
Définissez une boucle qui parcourt tous les chemins des images sélectionnées par l'utilisateur. Utiliser des oreillersouvrir() pour ouvrir le fichier image et transmettre la dimension maximale qu'il doit posséder à la méthode de redimensionnement. Convertissez cette image PIL enPhotoImage qui est compatible avec Tkinter. Créez une étiquette qui réside dans le cadre d'aperçu que vous avez créé précédemment et affichez l'image. Utilisez legrillegestionnaire pour organiser les images dans une disposition en grille avec trois colonnes.
Définir une méthode,resize_image() qui redimensionne l'image en tenant compte de la dimension de l'image et de la dimension maximale que vous avez définie précédemment. Calculez le rapport hauteur/largeur et utilisez-le pour définir la nouvelle largeur et la nouvelle hauteur. Utilisez la méthode de redimensionnement de PIL pour redimensionner l'image en conservant le rapport hauteur/largeur intact. Utilisez l'interpolation bilinéaire comme rééchantillonnage pour un résultat plus fluide.
Définir une fonction,convertir_en_pdf() . Utilisez la boîte de dialogue Fichier pour demander le chemin de destination du PDF. Définissez l'extension et le type de fichier par défaut comme