L’impression d’un document PDF est une exigence courante dans le développement d’applications. Que vous génériez des rapports, des factures ou tout autre type de document, l’impression d’un fichier PDF directement du code vers une imprimante peut s’avérer une fonctionnalité précieuse. Dans cet article de blog, nous apprendrons comment imprimer un fichier PDF sur une imprimante en Python.
Cet article couvre les sujets suivants :
- Bibliothèque Python pour imprimer un PDF sur une imprimante
- Imprimer un fichier PDF en Python
- Imprimer des fichiers PDF par lots
- Imprimer des pages spécifiques d’un PDF
- Spécifier la taille de la page pour l’impression d’un PDF
- Imprimer un fichier PDF sécurisé
- Convertir un PDF en niveaux de gris et imprimer en Python
- Licence
- Ressources gratuites
Bibliothèque Python pour imprimer un PDF sur une imprimante
Pour imprimer un fichier PDF en Python par programme, nous utiliserons la bibliothèque Aspose.PDF for Python via .NET. Avec une installation et une utilisation simples, il fournit une solution efficace pour envoyer des fichiers PDF à l’imprimante à l’aide du code Python. Aspose.PDF for Python permet aux développeurs de générer, manipuler et convertir des documents PDF dans leurs applications Python.
Pour commencer à imprimer un document PDF en Python, nous devons d’abord installer les bibliothèques nécessaires. Veuillez télécharger le package ou installer l’API depuis PyPI à l’aide de la commande pip suivante dans la console :
> pip install aspose-pdf
Imprimer un fichier PDF en Python
Nous pouvons facilement imprimer un fichier PDF par programme en Python en suivant les étapes ci-dessous :
- Créez une instance de la classe PdfViewer.
- Chargez le document PDF d’entrée à l’aide de la méthode bindpdf().
- Après cela, appelez la méthode printdocument() pour imprimer le fichier PDF.
- Enfin, fermez la visionneuse PDF à l’aide de la méthode close().
L’exemple de code suivant montre comment imprimer un fichier PDF en Python.
# Cet exemple de code montre comment imprimer un fichier PDF en Python.
import aspose.pdf as ap
# Créer un objet PdfViewer
viewer = ap.facades.PdfViewer();
# Ouvrir le fichier PDF d'entrée
viewer.bind_pdf("Document.pdf");
# Imprimer un document PDF
viewer.print_document();
# Fermer le fichier PDF
viewer.close();
Imprimer plusieurs fichiers PDF en Python
Nous pouvons également imprimer par lots des fichiers PDF à partir d’un dossier en Python en suivant les étapes ci-dessous :
- Chargez les fichiers PDF à partir du chemin de dossier fourni.
- Parcourez tous les fichiers PDF.
- Créez une instance de la classe PdfViewer.
- Liez chaque fichier PDF d’entrée un par un à l’aide de la méthode bindpdf().
- Après cela, appelez la méthode printdocument() pour imprimer le fichier PDF.
- Enfin, fermez la visionneuse PDF à l’aide de la méthode close().
L’exemple de code suivant montre comment imprimer plusieurs fichiers PDF en Python.
# Cet exemple de code montre comment imprimer plusieurs fichiers PDF à la fois en Python.
import os
import aspose.pdf as ap
# Chemin du répertoire contenant les fichiers PDF à imprimer
path = "D:\\Files\\"
# Obtenir des fichiers PDF
files = [f for f in os.listdir(path) if f.endswith(".pdf")]
# Lire tous les fichiers et imprimer
for file in files:
# Créer un objet PdfViewer
viewer = ap.facades.PdfViewer();
# Ouvrir le fichier PDF d'entrée
viewer.bind_pdf(path + file);
# Imprimer un document PDF
viewer.print_document();
# Fermer le fichier PDF
viewer.close();
Imprimer des pages spécifiques de PDF en Python
Dans certains cas, nous pouvons avoir besoin d’imprimer une plage spécifique de pages à partir d’un document PDF. Pour cela, nous devons spécifier les numéros de page de et vers. Nous pouvons imprimer la plage de pages en suivant les étapes ci-dessous :
- Créez une instance de la classe PdfViewer.
- Chargez le document PDF d’entrée à l’aide de la méthode bindpdf().
- Vous pouvez éventuellement spécifier divers attributs de visionneuse, tels que le redimensionnement automatique, la rotation automatique, etc.
- Créez une instance de la classe PageSettings.
- Initialisez l’objet de classe PrinterSettings.
- Spécifiez les propriétés printrange, frompage et topage.
- Après cela, appelez la méthode viewer.printdocumentwithsettings() pour imprimer le document en utilisant les paramètres de l’imprimante et de la page.
- Enfin, fermez la visionneuse PDF à l’aide de la méthode close().
L’exemple de code suivant montre comment imprimer des pages spécifiques d’un document PDF en Python.
# Cet exemple de code montre comment imprimer une plage de pages à partir d'un fichier PDF en Python.
import aspose.pdf as ap
# Créer un objet PdfViewer
viewer = ap.facades.PdfViewer();
# Ouvrir le fichier PDF d'entrée
viewer.bind_pdf("Document.pdf");
# Définir les attributs pour l'impression
viewer.auto_resize = True
viewer.auto_rotate = True
viewer.print_page_dialog = False
# Créer des objets pour les paramètres d'imprimante et de page et PrintDocument
pgs = ap.printing.PageSettings();
ps = ap.printing.PrinterSettings();
# Définir le nom de l'imprimante
ps.printer_name = "Microsoft Print to PDF";
ps.print_range = ap.printing.PrintRange.SOME_PAGES;
ps.from_page = 1;
ps.to_page = 2;
# Imprimer un document à l'aide des paramètres de l'imprimante et de la page
viewer.print_document_with_settings(pgs, ps);
# Fermer le fichier PDF
viewer.close();
Spécifier la taille de la page pour l’impression d’un PDF
De même, nous pouvons également spécifier la taille de la page lors de l’impression du fichier PDF en suivant les étapes mentionnées précédemment. Cependant, il suffit de spécifier le format du papier à l’aide de la classe PaperSize et les marges à l’aide de la classe Margins à l’étape 6.
L’exemple de code suivant montre comment imprimer le document PDF avec une taille de page et des marges spécifiques à l’aide de Python.
# Cet exemple de code montre comment imprimer une plage de pages à partir d'un fichier PDF en Python.
import aspose.pdf as ap
# Créer un objet PdfViewer
viewer = ap.facades.PdfViewer();
# Ouvrir le fichier PDF d'entrée
viewer.bind_pdf("Document.pdf");
# Définir les attributs pour l'impression
viewer.auto_resize = True
viewer.auto_rotate = True
viewer.print_page_dialog = False
# Créer des objets pour les paramètres d'imprimante et de page et PrintDocument
pgs = ap.printing.PageSettings();
ps = ap.printing.PrinterSettings();
# Définir le nom de l'imprimante
ps.printer_name = "Microsoft Print to PDF";
ps.print_range = ap.printing.PrintRange.SOME_PAGES;
ps.from_page = 1;
ps.to_page = 2;
# Définir la taille de la page (si nécessaire)
pgs.paper_size = ap.printing.PaperSize("A4", 827, 1169);
# Définir les marges de page (si nécessaire)
pgs.margins = ap.devices.Margins(0, 0, 0, 0);
# Imprimer un document à l'aide des paramètres de l'imprimante et de la page
viewer.print_document_with_settings(pgs, ps);
# Fermer le fichier PDF
viewer.close();
Imprimer un fichier PDF sécurisé en Python
Nous pouvons imprimer un fichier PDF sécurisé ou protégé par mot de passe en suivant les étapes ci-dessous :
- Chargez le PDF sécurisé avec un mot de passe à l’aide de la classe Document.
- Créez une instance de la classe PdfViewer.
- Liez le document PDF à l’aide de la méthode bindpdf().
- Après cela, appelez la méthode printdocument() pour imprimer le fichier PDF.
- Enfin, fermez la visionneuse PDF à l’aide de la méthode close().
L’exemple de code suivant montre comment imprimer un fichier PDF sécurisé en Python.
# Charger un document PDF sécurisé tout en spécifiant le mot de passe utilisateur ou propriétaire
document = ap.Document("Password.pdf" , "userORowner");
# Créer un objet PdfViewer
viewer = ap.facades.PdfViewer();
# Ouvrir le fichier PDF d'entrée
viewer.bind_pdf(document);
# Imprimer le document PDF
viewer.print_document();
# Fermer le fichier PDF
viewer.close();
Convertir un PDF en niveaux de gris et imprimer en Python
Nous pouvons imprimer un document PDF en niveaux de gris en suivant les étapes ci-dessous :
- Chargez le document PDF d’entrée à l’aide de la classe Document.
- Initialisez l’objet de classe RgbToDeviceGrayConversionStrategy.
- Parcourez toutes les pages et convertissez-les en GrayScale à l’aide de la méthode stratégie.convert().
- Créez une instance de la classe PdfViewer.
- Liez le document PDF à l’aide de la méthode bindpdf().
- Après cela, appelez la méthode printdocument() pour imprimer le fichier PDF.
- Enfin, fermez la visionneuse PDF à l’aide de la méthode close().
L’exemple de code suivant montre comment convertir un PDF en niveaux de gris, puis l’imprimer à l’aide de Python.
# Cet exemple de code montre comment imprimer un fichier PDF en niveaux de gris en Python.
import aspose.pdf as ap
# Charger le document PDF d'entrée
document = ap.Document("D:\\Files\\Output.pdf");
# Lancer la stratégie de conversion RVB vers Device Gry
strategy = ap.RgbToDeviceGrayConversionStrategy();
# Parcourez toutes les pages
for page in document.pages:
# Convertir l'image de l'espace colorimétrique RVB en espace colorimétrique GrayScale
strategy.convert(page);
# Créer un objet PdfViewer
viewer = ap.facades.PdfViewer();
# Ouvrir le fichier PDF d'entrée
viewer.bind_pdf(document);
# Imprimer le document PDF
viewer.print_document();
# Fermer le fichier PDF
viewer.close();
Obtenez une licence gratuite
Vous pouvez obtenir une licence temporaire afin d’utiliser la bibliothèque sans limitations d’évaluation.
Imprimer PDF – Ressources gratuites
Outre l’impression de PDF sur une imprimante en Python, apprenez-en davantage sur la création, la manipulation et la conversion de documents PDF, et explorez diverses autres fonctionnalités de la bibliothèque à l’aide des ressources ci-dessous :
Conclusion
Dans cet article, nous avons appris comment imprimer un fichier PDF en Python. En tirant parti d’Aspose.PDF for Python, vous pouvez facilement envoyer vos fichiers PDF à une imprimante à partir de votre code Python. Cette fonctionnalité puissante permet aux utilisateurs de générer des rapports et de gérer les flux de documents de manière transparente dans différentes applications. En suivant les étapes décrites dans cet article de blog, vous pouvez automatiser la tâche d’impression des PDF. En cas d’ambiguïté, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.