Comment imprimer des fichiers PDF en utilisant Python

Comment imprimer des fichiers PDF en utilisant Python

This article was translated from English: Does it need improvement?
Translated
View the article in English

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

  1. Installez IronPDF : pip install ironpdf
  2. Importez la bibliothèque : from ironpdf import *
  3. Chargez votre PDF : pdf = PdfDocument.FromFile("MyPdf.pdf")
  4. Imprimez avec les paramètres par défaut : pdf.Print()
  5. 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()
PYTHON

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 *
PYTHON

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"
PYTHON

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 ?

IronPDF Python PdfDocument.FromFile() charge un PDF depuis le système de fichiers dans un objet PdfDocument prêt à être imprimé

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")
PYTHON

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.


Icon Quote related to Sources d'entrée prises en charge

Ma bibliothèque préférée de ce genre est IronPDF. Elle permet une manipulation rapide et efficace des fichiers PDF. Elle dispose également de nombreuses fonctionnalités précieuses, comme l'exportation au format PDF/A et la signature numérique des documents PDF.

Milan Jovanovic related to Sources d'entrée prises en charge

Milan Jovanovic

Microsoft MVP

Voir l'étude de cas
Icon Quote related to Sources d'entrée prises en charge

IronOCR signifie que nous pouvons économiser 40 000 $ par an grâce au traitement manuel, tout en améliorant la productivité et en libérant des ressources pour des tâches à fort impact. Je le recommande vivement.

Brent Matzelle related to Sources d'entrée prises en charge

Brent Matzelle

Directeur technique, OPYN

Voir l'étude de cas
Icon Quote related to Sources d'entrée prises en charge

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.

David Jones related to Sources d'entrée prises en charge

David Jones

Ingénieur logiciel principal, Agorus Build

Voir l'étude de cas

Comment puis-je imprimer un PDF en utilisant les paramètres par défaut ?

Script Python appelant pdf.Print() avec le travail d'impression résultant visible dans la file d'attente d'impression Windows

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()
PYTHON

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}")
PYTHON

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 Python GetPrintDocument() affichant les propriétés PrinterSettings, notamment PrinterName, FromPage, ToPage, et Copies, définies dans un script Python

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()
PYTHON

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.

ConseilsPour lister les noms d'imprimantes disponibles sous Windows, utilisez [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"])
PYTHON

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 :

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.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Version : 2026.6 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ?
exécuter un échantillon Regardez votre code HTML se transformer en PDF.