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 propose deux méthodes directes : pdf.Print() pour une impression immédiate sur l'imprimante par défaut et pdf.GetPrintDocument() pour un contrôle total sur les plages de pages, la sélection de l'imprimante, le nombre de copies et l'assemblage.
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
- Installer IronPDF :
pip install ironpdf - Importer la bibliothèque :
from ironpdf import * - Chargez votre PDF :
pdf = PdfDocument.FromFile("MyPdf.pdf") - PrINT avec les paramètres par défaut :
pdf.Print() - Ou configurez d'abord les paramètres :
printer_setting = pdf.GetPrintDocument()
from ironpdf import *
# Apply license key
License.LicenseKey = "YOUR-LICENSE-KEY"
# Load and print immediately
pdf = PdfDocument.FromFile("report.pdf")
pdf.Print()
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. La prise en charge de l'impression par la bibliothèque couvre deux schémas : la sortie directe sur l'imprimante par défaut via un seul appel de méthode, et l'accès au niveau du 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 les interactions avec le spouleur d'impression au niveau du système d'exploitation, les commandes subprocess ou les utilitaires d'impression spécifiques à la 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. La prise en charge multiplateforme, l'accès cohérent à PrinterSettings et l'absence de dépendance vis-à-vis des visionneuses PDF installées localement constituent 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 :
from ironpdf import *
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 :
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
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 using IronPDF for Python.
IronPDF charge les fichiers PDF à partir du système de fichiers à l'aide de PdfDocument.FromFile(). La méthode accepte une chaîne de caractères représentant un chemin d'accès à un fichier et renvoie un objet PdfDocument prêt à être imprimé, manipulé ou inspecté.
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")
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 workflows de système de fichiers. FromBytes() est utile lorsque le PDF est fourni sous forme de données binaires issues d'une requête de base de données ou d'une réponse API. Le paramètre de mot de passe facultatif dans FromFile() permet de traiter les PDF cryptés sans étape de décryptage 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.
Comment puis-je imprimer un PDF en utilisant les paramètres par défaut ?

A Python script using IronPDF's `Print()` method sends a PDF job to the system default printer.
La méthode Print() envoie le document vers 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.
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()
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 :
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}")
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 ?

IronPDF's `GetPrintDocument()` method returns a PrintDocument object with full access to PrinterSettings properties.
GetPrintDocument() renvoie un objet PrintDocument qui expose l'intégralité de l'API 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.
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()
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 du système d'exploitation. 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 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. En définissant FromPage = 1 et ToPage = 0 (valeur par défaut), toutes les pages sont imprimées. La propriété Copies accepte un entier ; Combinée à Collate = True, l'imprimante assemble des jeux complets du document avant de lancer la copie suivante — le comportement correct pour les rapports de plusieurs pages.
Impression de plusieurs PDF en lots
Pour les workflows qui impriment une file d'attente de documents, parcourez la liste des fichiers et appelez Print() pour chacun d'entre eux :
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 principaux modèles d'impression dans IronPDF for Python : la sortie sur l'imprimante par défaut avec pdf.Print() et la sortie avec des 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
Start with a free trial license to test printing in your environment. 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.

