Comment imprimer des fichiers PDF en utilisant Python
L'impression de fichiers PDF en Python est une exigence courante dans les flux de travail d'automatisation de documents - factures envoyées aux imprimantes lors de leur génération, étiquettes d'expédition alignées automatiquement, rapports d'audit envoyés à l'heure prévue. IronPDF for Python fournit deux méthodes directes : pdf.Print() pour la sortie immédiate de l'imprimante par défaut et pdf.GetPrintDocument() pour un contrôle total sur les plages de pages, la sélection d'imprimante, les copies et le rassemblement.
Ce guide couvre l'installation, le chargement des PDFs, l'impression par défaut et les réglages d'impression personnalisés avec des exemples de code fonctionnant pour chacun.
Démarrage rapide : Imprimer un fichier PDF avec Python
- Installez IronPDF :
pip install ironpdf - Importez la bibliothèque :
from ironpdf import * - Chargez votre PDF :
pdf = PdfDocument.FromFile("MyPdf.pdf") - Imprimez avec les paramètres par défaut :
pdf.Print() - Ou configurez les paramètres d'abord :
printer_setting = pdf.GetPrintDocument()
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-1.py
from ironpdf import *
# Apply license key
License.LicenseKey = "YOUR-LICENSE-KEY"
# Load and print immediately
pdf = PdfDocument.FromFile("report.pdf")
pdf.Print()
Comment imprimer des fichiers PDF à l'aide de Python
- Installez la bibliothèque IronPDF for Python via pip
- Chargez un fichier PDF existant en utilisant
PdfDocument.FromFile() - Utilisez la méthode
Print()pour envoyer immédiatement le document à l'imprimante par défaut - Accédez aux paramètres d'impression personnalisables à l'aide de la méthode
GetPrintDocument() - Exécutez
Print()sur l'objetPrintDocumentretourné pour imprimer avec les paramètres configurés
Qu'est-ce qu'IronPDF et comment aide-t-il à imprimer des PDF ?
IronPDF est une bibliothèque Python qui permet aux développeurs de générer, manipuler et convertir des documents PDF. Le support d'impression de la bibliothèque couvre deux modèles : sortie directe de l'imprimante par défaut avec un seul appel de méthode, et accès au niveau document à PrinterSettings pour un contrôle complet de l'imprimante.
Avec IronPDF, la complexité sous-jacente de la communication avec l'imprimante est gérée par la bibliothèque. Les développeurs travaillent avec une API de haut niveau au lieu de gérer des interactions au niveau du spooler d'impression de l'OS, des commandes subprocess, ou des utilitaires d'impression spécifiques à une plateforme. Cela signifie que le même code Python fonctionne sur Windows, Linux et macOS sans modification.
Une capacité clé est la possibilité de convertir HTML, CSS, et JavaScript en PDF avant impression - utile lorsque le matériel source est un modèle web ou un rapport dynamique plutôt qu'un fichier existant. Pour plus d'informations à ce sujet, consultez le tutoriel HTML to PDF. La bibliothèque prend également en charge la fusion de PDFs avant impression et la compression de PDFs pour réduire le temps de transfert de spool pour de grands documents.
Pourquoi choisir IronPDF pour l'impression de PDF en Python ?
IronPDF fournit une API d'impression complète plutôt que de s'appuyer sur des outils externes comme Ghostscript ou les drapeaux de ligne de commande d'Adobe Reader. La bibliothèque gère le rendu des documents en interne, ce qui signifie que la sortie d'impression correspond précisément à l'apparence à l'écran. Le support multiplateforme, l'accès PrinterSettings cohérent, et l'absence de dépendance aux visionneuses PDF installées localement sont les principaux avantages pratiques par rapport aux approches basées sur des sous-processus.
La bibliothèque est également particulièrement utile lorsque le contenu à imprimer n'existe pas encore sous forme de PDF. Les développeurs peuvent créer un PDF à partir d'un modèle HTML, ajouter des entêtes et pieds de page, appliquer une mise en page avec des polices personnalisées, et envoyer ensuite directement le résultat à l'imprimante - le tout dans un seul script Python. Cela rend IronPDF adapté pour les pipelines de génération de documents à impression, et pas seulement pour l'impression de fichiers existants.
Comment installer IronPDF for Python ?
Le package IronPDF est disponible sur PyPI et s'installe avec une seule commande pip.
pip install ironpdf
Après installation, ajoutez l'instruction d'importation en haut de votre script :
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-3.py
from ironpdf import *
IronPDF requiert Python 3.6 ou une version ultérieure. Le package télécharge automatiquement le moteur de rendu IronPDF lors de la première utilisation, donc l'importation initiale peut prendre un moment. Pour les environnements avec un accès externe restreint, consultez le guide de configuration de l'IronPDF Engine pour des options de configuration hors ligne.
Paramétrer votre clé de licence
Une clé de licence est requise pour une utilisation en production. Définissez-la avant tout autre appel à IronPDF :
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-4.py
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
La bibliothèque fonctionne en mode d'essai sans clé pour le développement et l'évaluation, mais les PDFs de sortie incluront un filigrane d'essai. Pour le dépannage des problèmes d'installation, consultez le guide de dépannage de l'installation.
Comment charger un fichier PDF pour l'impression ?

Chargement d'un PDF du système de fichiers dans un objet PdfDocument en utilisant IronPDF for Python.
IronPDF charge les fichiers PDF depuis le système de fichiers en utilisant PdfDocument.FromFile(). La méthode accepte une chaîne de chemin de fichier et retourne un objet PdfDocument prêt pour l'impression, la manipulation, ou l'inspection.
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-5.py
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
# Load from a file path
pdf = PdfDocument.FromFile("MyPdf.pdf")
# Load from bytes (e.g., a file read from a database or HTTP response)
with open("MyPdf.pdf", "rb") as f:
pdf_bytes = f.read()
pdf_from_bytes = PdfDocument.FromBytes(pdf_bytes)
# Load a password-protected PDF
protected_pdf = PdfDocument.FromFile("SecurePdf.pdf", "password123")
Le code ci-dessus démontre trois modèles de chargement. FromFile() est le plus courant pour les flux de travail du système de fichiers. FromBytes() est utile lorsque le PDF arrive sous forme de données binaires à partir d'une requête de base de données ou d'une réponse d'API. Le paramètre de mot de passe optionnel dans FromFile() gère les PDF chiffrés sans étape de déchiffrement supplémentaire.
Pour les PDF provenant d'une URL ou de contenu HTML, IronPDF peut également convertir une URL en PDF ou rendre un fichier HTML en PDF avant l'impression.
Sources d'entrée prises en charge
En plus des fichiers PDF, IronPDF peut produire des documents imprimables à partir d'images, de chaînes HTML et d'URLs en direct. Cela est utile dans les flux de travail d'impression où les données sources ne sont pas déjà au format PDF — par exemple, en rendant d'abord un modèle de rapport avec des graphiques en PDF, puis en l'envoyant à l'imprimante.
Iron Suite joue un rôle crucial dans nos opérations. Ce sont des outils qui augmentent l'efficacité de l'entreprise, y compris la création de plans d'étage et l'amélioration de la gestion des stocks.
Comment puis-je imprimer un PDF en utilisant les paramètres par défaut ?

Un script Python utilisant la méthode `Print()` d'IronPDF envoie un travail PDF à l'imprimante par défaut du système.
La méthode Print() envoie le document à l'imprimante par défaut du système en utilisant les paramètres de page par défaut. Aucune configuration supplémentaire n'est nécessaire.
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-6.py
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
# Load the PDF
pdf = PdfDocument.FromFile("invoice.pdf")
# Print to default printer with default settings
pdf.Print()
Les paramètres par défaut utilisent l'imprimante par défaut configurée du système, impriment toutes les pages, appliquent la taille et l'orientation de papier par défaut de l'imprimante, et envoient une copie. C'est le bon choix pour les flux de travail simples où la configuration de l'imprimante de l'utilisateur correspond déjà aux exigences du document.
Pour le code de production, encapsulez l'appel d'impression dans une gestion des erreurs pour attraper les erreurs d'imprimante hors-ligne ou de permission :
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-7.py
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
try:
pdf = PdfDocument.FromFile("invoice.pdf")
pdf.Print()
except Exception as e:
print(f"Print job failed: {e}")
Le message d'exception fournit des détails au niveau du système d'exploitation sur l'échec de l'impression — par exemple, si l'imprimante est hors ligne, si le spooler est en pause ou si le document n'a pas pu être rendu.
Comment puis-je personnaliser les paramètres d'impression avant d'imprimer ?

La méthode `GetPrintDocument()` d'IronPDF renvoie un objet PrintDocument avec un accès complet aux propriétés de PrinterSettings.
GetPrintDocument() retourne un objet PrintDocument qui expose l'API complète PrinterSettings. Cela permet de sélectionner une imprimante nommée, de définir des plages de pages, de contrôler les copies et la mise en liasse, et de configurer le mode recto verso avant d'envoyer le travail.
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-8.py
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
pdf = PdfDocument.FromFile("quarterly-report.pdf")
# Access the PrintDocument object
printer_setting = pdf.GetPrintDocument()
# Select a specific printer by name
printer_setting.PrinterSettings.PrinterName = "HP LaserJet Pro"
# Print only pages 2 through 4
printer_setting.PrinterSettings.FromPage = 2
printer_setting.PrinterSettings.ToPage = 4
# Print 2 collated copies
printer_setting.PrinterSettings.Copies = 2
printer_setting.PrinterSettings.Collate = True
# Execute the print job
printer_setting.Print()
La propriété PrinterSettings.PrinterName accepte le nom d'affichage de l'imprimante tel qu'il apparaît dans la liste des imprimantes de l'OS. Sous Windows, cela correspond au nom affiché dans "Périphériques et imprimantes". Sous Linux, cela correspond au nom de l'imprimante CUPS. Définir un nom d'imprimante invalide entraînera l'échec du travail d'impression à l'exécution, alors validez le nom par rapport à la liste des imprimantes installées lors de la création de dialogues d'impression destinées aux utilisateurs.
[System.Drawing.Printing.PrinterSettings]::InstalledPrinters dans PowerShell, ou utilisez le module Python win32print à partir de pywin32 pour énumérer les imprimantes par programmation.Sélection des pages et gestion des copies
Les propriétés FromPage et ToPage définissent une plage de pages inclusive. La numérotation des pages commence à 1. Définir FromPage = 1 et ToPage = 0 (par défaut) imprime toutes les pages. La propriété Copies accepte un entier; combinée à Collate = True, l'imprimante assemble des ensembles complets du document avant de commencer la copie suivante — le comportement correct pour les rapports multipages.
Impression de plusieurs PDF en lots
Pour les flux de travail qui impriment une file d'attente de documents, bouclez à travers la liste des fichiers et appelez Print() pour chacun :
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
def batch_print(file_paths):
for path in file_paths:
try:
pdf = PdfDocument.FromFile(path)
pdf.Print()
except Exception as e:
print(f"Failed to print {path}: {e}")
batch_print(["invoice_001.pdf", "invoice_002.pdf", "shipping_label.pdf"])
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
def batch_print(file_paths):
for path in file_paths:
try:
pdf = PdfDocument.FromFile(path)
pdf.Print()
except Exception as e:
print(f"Failed to print {path}: {e}")
batch_print(["invoice_001.pdf", "invoice_002.pdf", "shipping_label.pdf"])
Pour les travaux en lots de gros volume, envisagez l'impression asynchrone pour éviter de bloquer le thread principal pendant la mise en file d'attente de chaque travail.
Quels sont les prochaines étapes pour l'impression PDF en Python ?
Ce guide a couvert les deux modèles de base d'impression dans IronPDF for Python : sortie de l'imprimante par défaut avec pdf.Print() et sortie avec paramètres personnalisés avec pdf.GetPrintDocument(). Les deux approches fonctionnent sur Windows, Linux, et macOS sans code spécifique à la plateforme.
Pour étendre ces modèles dans une application de production, envisagez :
- Remplir des formulaires PDF avant d'imprimer pour produire des documents complétés à partir de modèles
- Ajouter des filigranes ou signatures numériques avant l'envoi à l'imprimante
- Convertir HTML en PDF pour l'impression de rapports dynamiques à partir de modèles web
- Extraire du texte des documents imprimés pour la journalisation d'audit
Commencez avec une licence d'essai gratuite pour tester l'impression dans votre environnement. Les options de licence commencent à partir de $999 pour le déploiement en production.
Téléchargez le code source complet utilisé dans ce guide.
Questions Fréquemment Posées
Quel est le moyen le plus rapide d'imprimer un fichier PDF en Python ?
La façon la plus rapide est la méthode Print() d'IronPDF. Après avoir installé avec pip install ironpdf, chargez un PDF avec PdfDocument.FromFile('yourfile.pdf') et appelez pdf.Print() pour l'envoyer immédiatement à l'imprimante par défaut en utilisant les paramètres de page par défaut.
Comment sélectionner une imprimante spécifique lors de l'impression de PDF en Python ?
Utilisez GetPrintDocument() pour accéder à l'objet PrintDocument, puis définissez printer_setting.PrinterSettings.PrinterName sur le nom d'affichage de l'imprimante cible tel qu'il apparaît dans votre liste d'imprimantes OS. Sous Windows, cela correspond au nom dans Périphériques et imprimantes ; sous Linux, c'est le nom de l'imprimante CUPS.
Comment imprimer uniquement certaines pages d'un PDF en Python ?
Appelez pdf.GetPrintDocument() pour obtenir l'objet PrintDocument, puis définissez printer_setting.PrinterSettings.FromPage et printer_setting.PrinterSettings.ToPage sur les numéros de première et de dernière page (base 1). Appelez printer_setting.Print() pour exécuter avec ces paramètres.
IronPDF for Python fonctionne-t-il sous Linux et macOS ?
Oui. IronPDF for Python fonctionne sous Windows, Linux et macOS. Le même code Python s'exécute sans modifications spécifiques à la plateforme. Sous Linux, la sélection d'imprimante utilise les noms d'imprimante CUPS. L'installation nécessite Python 3.6 ou plus tard sur toutes les plateformes.
Ai-je besoin d'une clé de licence pour utiliser les fonctionnalités d'impression d'IronPDF ?
Une clé de licence est requise pour l'utilisation en production. Définissez-la avec License.LicenseKey = 'YOUR-LICENSE-KEY' avant tout autre appel IronPDF. Pendant le développement, la bibliothèque fonctionne sans clé, mais les documents de sortie porteront un filigrane d'essai. Une licence d'essai gratuite est disponible pour évaluation.
Comment imprimer plusieurs fichiers PDF en un lot avec Python ?
Parcourez une liste de chemins de fichiers, en appelant PdfDocument.FromFile(path) et pdf.Print() pour chaque fichier. Enveloppez chaque itération dans un bloc try-except pour capturer les erreurs par fichier sans arrêter l'ensemble du lot. Pour les travaux de volume élevé, envisagez une exécution async pour éviter de bloquer le thread principal.

