Comment imprimer un PDF en VB .NET sans Adobe avec IronPrint
L'impression de documents PDF en VB .NET nécessite une bibliothèque qui gère le rendu, la communication avec l'imprimante et la gestion des paramètres sans vous obliger à installer Adobe Reader ou d'autres dépendances tierces. IronPrint résout ce problème grâce à une API claire qui fonctionne sur Windows, macOS, Linux et les plateformes mobiles. Ce guide vous accompagne à chaque étape, de l'installation du package à la gestion des erreurs d'impression courantes, afin que vous puissiez ajouter l'impression PDF à votre application VB .NET rapidement et en toute confiance.
À la fin de ce tutoriel, vous saurez comment imprimer en mode silencieux, afficher la boîte de dialogue d'impression Windows, appliquer des paramètres personnalisés tels que la résolution (DPI) et l'orientation du papier, énumérer les imprimantes disponibles et gérer les exceptions avec élégance.
Comment installer IronPrint dans un projet VB .NET ?
L'installation IronPrint ne prend que quelques secondes via le gestionnaire de packages NuGet . Ouvrez votre console du Package Manager dans Visual Studio et exécutez :
Install-Package IronPrint
Après l'installation, ajoutez l'importation d'espace de noms en haut de chaque fichier à imprimer, puis appliquez votre clé de licence avant d'appeler une méthode IronPrint :
Imports IronPrint
' Apply your license key (get a free trial key at ironsoftware.com)
License.LicenseKey = "YOUR-LICENSE-KEY"
Imports IronPrint
' Apply your license key (get a free trial key at ironsoftware.com)
License.LicenseKey = "YOUR-LICENSE-KEY"
Imports IronPrint
' Apply your license key (get a free trial key at ironsoftware.com)
License.LicenseKey = "YOUR-LICENSE-KEY"
IronPrint cible .NET Framework 4.6.2 et versions ultérieures, ainsi que .NET 6, 7, 8, 9 et 10. Il est livré avec des moteurs de rendu natifs pour chaque plateforme, vous n'avez donc pas besoin d'installer Adobe Acrobat, Ghostscript ou tout autre moteur de rendu PDF. Le même package NuGet fonctionne pour les projets Windows Forms, WPF, les applications console et les projets ASP.NET écrits en VB .NET.
Les formats de documents pris en charge incluent PDF, PNG, HTML, TIFF, GIF, JPEG et BMP. Vous pouvez explorer l'ensemble des fonctionnalités dans la documentation de référence de l'API d'impression unifiée IronPrint .
Pour plus d'informations sur les licences et l'activation, consultez la documentation relative aux clés de licence IronPrint .
Comment imprimer un PDF en mode silencieux en VB .NET?
L'impression silencieuse envoie un document directement à une imprimante sans afficher aucune boîte de dialogue. Ce mode est essentiel pour les flux de travail automatisés, le traitement par lots des factures, les pipelines de génération de rapports et l'impression de documents côté serveur en l'absence d'utilisateur.
Selon la documentation de Microsoft sur l'impression GDI+ dans .NET, l'impression .NET traditionnelle implique la création d'un objet PrintDocument, la connexion aux événements PrintPage et la gestion manuelle de la mise en page. IronPrint élimine tout ce code répétitif :
Imports IronPrint
Module SilentPrinting
Sub Main()
Dim pdfPath As String = "invoice.pdf"
' Print to the system default printer
Printer.Print(pdfPath)
' Print to a specific printer by name
Dim settings As New PrintSettings()
settings.PrinterName = "Microsoft Print to PDF"
Printer.Print(pdfPath, settings)
End Sub
End Module
Imports IronPrint
Module SilentPrinting
Sub Main()
Dim pdfPath As String = "invoice.pdf"
' Print to the system default printer
Printer.Print(pdfPath)
' Print to a specific printer by name
Dim settings As New PrintSettings()
settings.PrinterName = "Microsoft Print to PDF"
Printer.Print(pdfPath, settings)
End Sub
End Module
Imports IronPrint
Module SilentPrinting
Sub Main()
Dim pdfPath As String = "invoice.pdf"
' Print to the system default printer
Printer.Print(pdfPath)
' Print to a specific printer by name
Dim settings As New PrintSettings()
settings.PrinterName = "Microsoft Print to PDF"
Printer.Print(pdfPath, settings)
End Sub
End Module
La méthode Printer.Print gère tout le rendu PDF en interne. Lorsque vous appelez Printer.Print(pdfPath) sans argument PrintSettings, IronPrint sélectionne automatiquement l'imprimante par défaut du système. Lorsque vous fournissez à un objet PrintSettings une valeur PrinterName, il achemine le travail vers ce dispositif spécifique.
Pour les scénarios de traitement par lots, vous pouvez parcourir en boucle une liste de chemins de fichiers et appeler Printer.Print pour chacun d'entre eux. Comme IronPrint n'ouvre aucun thread d'interface utilisateur pour l'impression silencieuse, il fonctionne correctement dans les applications console, les services Windows et les gestionnaires de requêtes ASP.NET .
Pour un aperçu plus détaillé des options disponibles, consultez la documentation des paramètres d'impression IronPrint .
Comment afficher la boîte de dialogue d'impression avant d'imprimer ?
Il est parfois nécessaire de laisser les utilisateurs choisir une imprimante, ajuster la plage de pages ou définir le nombre de copies avant de lancer une impression. IronPrint propose Printer.ShowPrintDialog exactement pour ce scénario :
Imports IronPrint
Module DialogPrinting
Sub Main()
' Display the standard Windows print dialog
Printer.ShowPrintDialog("report.pdf")
End Sub
End Module
Imports IronPrint
Module DialogPrinting
Sub Main()
' Display the standard Windows print dialog
Printer.ShowPrintDialog("report.pdf")
End Sub
End Module
Imports IronPrint
Module DialogPrinting
Sub Main()
' Display the standard Windows print dialog
Printer.ShowPrintDialog("report.pdf")
End Sub
End Module
Lorsque cette méthode est exécutée, Windows affiche sa boîte de dialogue d'impression standard. L'utilisateur peut sélectionner n'importe quelle imprimante installée, choisir une plage de pages, sélectionner le nombre de copies et ajuster les paramètres d'impression recto verso. Une fois que l'utilisateur a cliqué sur Imprimer ou Annuler, le contrôle revient à votre code.
Cette méthode s'intègre naturellement aux applications Windows Forms. Vous pouvez l'appeler depuis un gestionnaire de clic de bouton et avoir confiance que la boîte de dialogue se comportera de manière cohérente avec les autres applications Windows que l'utilisateur connaît déjà.

La page d'exemples de la boîte de dialogue d'impression présente d'autres cas d'utilisation, notamment la présélection d'une imprimante ou le pré-remplissage du nombre de copies avant l'ouverture de la boîte de dialogue.
Comment personnaliser les paramètres d'impression PDF en VB .NET?
La classe PrintSettings vous donne un contrôle programmatique complet sur tous les aspects d'un travail d'impression. Vous pouvez définir la résolution (DPI), le format du papier, l'orientation, le nombre de copies et l'imprimante cible, le tout avant que la tâche n'atteigne la file d'attente d'impression :
Imports IronPrint
Module CustomPrintSettings
Sub Main()
Dim settings As New PrintSettings() With {
.Dpi = 300,
.NumberOfCopies = 2,
.PaperOrientation = PaperOrientation.Landscape,
.PaperSize = PaperSize.A4,
.PrinterName = "Office Printer"
}
Printer.Print("document.pdf", settings)
End Sub
End Module
Imports IronPrint
Module CustomPrintSettings
Sub Main()
Dim settings As New PrintSettings() With {
.Dpi = 300,
.NumberOfCopies = 2,
.PaperOrientation = PaperOrientation.Landscape,
.PaperSize = PaperSize.A4,
.PrinterName = "Office Printer"
}
Printer.Print("document.pdf", settings)
End Sub
End Module
Imports IronPrint
Module CustomPrintSettings
Sub Main()
Dim settings As New PrintSettings() With {
.Dpi = 300,
.NumberOfCopies = 2,
.PaperOrientation = PaperOrientation.Landscape,
.PaperSize = PaperSize.A4,
.PrinterName = "Office Printer"
}
Printer.Print("document.pdf", settings)
End Sub
End Module
Comprendre les principales propriétés d'impression
La propriété Dpi contrôle la résolution de sortie. Une valeur de 300 est la norme pour les documents Professional ; 600 est approprié pour les dessins graphiques ou techniques de haute qualité. Des valeurs plus faibles, comme 150, sont utiles pour les impressions brouillon où la vitesse importe plus que la qualité.
NumberOfCopies indique à l'imprimante le nombre de copies à produire en un seul travail. Définir cette valeur à 3 équivaut à ce qu'un utilisateur appuie sur Ctrl+P et saisisse 3 dans le champ des copies, mais vous la contrôlez à partir du code sans aucune interaction avec l'interface utilisateur.
PaperOrientation accepte PaperOrientation.Portrait ou PaperOrientation.Landscape. Choisir une orientation incorrecte pour un PDF conçu en mode paysage entraîne le rognage ou la réduction de la taille du contenu. Le fait de définir explicitement cette option garantit que le résultat corresponde à la mise en page du document.
PaperSize accepte les tailles standard telles que PaperSize.A4, PaperSize.Letter, et PaperSize.Legal. Ceci est important lorsque votre environnement d'impression mélange des bacs à papier de formats différents.
Choisir le nom d'imprimante correct
La chaîne PrinterName doit correspondre exactement au nom enregistré de l'imprimante dans Windows, y compris les majuscules et les espaces. Utilisez Printer.GetPrinterNames() (voir section suivante) pour récupérer la liste des noms valides au moment de l'exécution.
Pour des options de personnalisation plus avancées, consultez la page des fonctionnalités avancées de personnalisation d'impression .
Comment énumérer et sélectionner les imprimantes par programmation ?
En Enterprise , les postes de travail ont souvent accès à des dizaines d'imprimantes réseau. IronPrint simplifie la liste de toutes les imprimantes disponibles et permet de choisir la bonne au moment de l'exécution :
Imports IronPrint
Module PrinterManagement
Sub Main()
' Retrieve all available printers
Dim printers As List(Of String) = Printer.GetPrinterNames()
Console.WriteLine($"Found {printers.Count} printer(s):")
For Each printerName As String In printers
Console.WriteLine($" - {printerName}")
Next
' Print to the first available printer
If printers.Count > 0 Then
Dim settings As New PrintSettings()
settings.PrinterName = printers(0)
Printer.Print("document.pdf", settings)
Else
Console.WriteLine("No printers found. Check system configuration.")
End If
End Sub
End Module
Imports IronPrint
Module PrinterManagement
Sub Main()
' Retrieve all available printers
Dim printers As List(Of String) = Printer.GetPrinterNames()
Console.WriteLine($"Found {printers.Count} printer(s):")
For Each printerName As String In printers
Console.WriteLine($" - {printerName}")
Next
' Print to the first available printer
If printers.Count > 0 Then
Dim settings As New PrintSettings()
settings.PrinterName = printers(0)
Printer.Print("document.pdf", settings)
Else
Console.WriteLine("No printers found. Check system configuration.")
End If
End Sub
End Module
Imports IronPrint
Module PrinterManagement
Sub Main()
' Retrieve all available printers
Dim printers As List(Of String) = Printer.GetPrinterNames()
Console.WriteLine($"Found {printers.Count} printer(s):")
For Each printerName As String In printers
Console.WriteLine($" - {printerName}")
Next
' Print to the first available printer
If printers.Count > 0 Then
Dim settings As New PrintSettings()
settings.PrinterName = printers(0)
Printer.Print("document.pdf", settings)
Else
Console.WriteLine("No printers found. Check system configuration.")
End If
End Sub
End Module
Printer.GetPrinterNames() interroge le sous-système d'impression de Windows et renvoie toutes les imprimantes auxquelles l'utilisateur actuel peut accéder, y compris les imprimantes USB locales, les imprimantes réseau, les imprimantes virtuelles comme Microsoft Print to PDF et tous les pilotes d'imprimante installés par des logiciels tiers.
Acheminement des documents vers l'imprimante appropriée
Dans une configuration multi-imprimantes, il peut être judicieux d'acheminer les documents volumineux vers une imprimante de service haute vitesse et les documents plus petits vers une imprimante de bureau à proximité. Pour ce faire, vérifiez le nombre de pages ou la taille du fichier, puis sélectionnez l'imprimante appropriée dans la liste.

Consultez la documentation relative aux fonctionnalités d'information de l'imprimante pour en savoir plus sur les propriétés supplémentaires que vous pouvez interroger, telles que l'état de l'imprimante et le bac à papier par défaut.
Comment gérer les erreurs d'impression en VB .NET?
Le code d'impression en production doit gérer les erreurs avec élégance. Les chemins d'accès aux fichiers peuvent être incorrects, les imprimantes peuvent être hors ligne ou le compte utilisateur peut ne pas disposer des autorisations d'impression nécessaires. Envelopper vos appels d'impression dans une gestion structurée des exceptions empêche les exceptions non gérées de faire planter votre application :
Imports IronPrint
Imports System.IO
Module ErreurHandling
Sub Main()
Dim filePath As String = "document.pdf"
If Not File.Exists(filePath) Then
Console.WriteLine("PDF file not found. Verify the path and try again.")
Return
End If
Try
Dim settings As New PrintSettings()
settings.PrinterName = "Office Printer"
Printer.Print(filePath, settings)
Console.WriteLine("Print job sent successfully.")
Catch ex As Exception
Console.WriteLine($"Printing failed: {ex.Message}")
End Try
End Sub
End Module
Imports IronPrint
Imports System.IO
Module ErreurHandling
Sub Main()
Dim filePath As String = "document.pdf"
If Not File.Exists(filePath) Then
Console.WriteLine("PDF file not found. Verify the path and try again.")
Return
End If
Try
Dim settings As New PrintSettings()
settings.PrinterName = "Office Printer"
Printer.Print(filePath, settings)
Console.WriteLine("Print job sent successfully.")
Catch ex As Exception
Console.WriteLine($"Printing failed: {ex.Message}")
End Try
End Sub
End Module
Imports IronPrint
Imports System.IO
Module ErreurHandling
Sub Main()
Dim filePath As String = "document.pdf"
If Not File.Exists(filePath) Then
Console.WriteLine("PDF file not found. Verify the path and try again.")
Return
End If
Try
Dim settings As New PrintSettings()
settings.PrinterName = "Office Printer"
Printer.Print(filePath, settings)
Console.WriteLine("Print job sent successfully.")
Catch ex As Exception
Console.WriteLine($"Printing failed: {ex.Message}")
End Try
End Sub
End Module
Erreurs courantes et comment les corriger
Le tableau suivant décrit les erreurs d'impression les plus fréquentes et leurs solutions :
| Erreur | Cause | Solution |
|---|---|---|
| Imprimante introuvable | Le nom de l'imprimante ne correspond pas à l'entrée du registre Windows | Appelez Printer.GetPrinterNames() et utilisez le nom exact renvoyé. |
| Pages blanches imprimées | Chemin d'accès au fichier invalide ou PDF corrompu | Utilisez File.Exists pour vérifier le chemin d'accès ; ouvrez le PDF dans une visionneuse pour en vérifier l'intégrité. |
| Mauvaise qualité d'impression | DPI réglé trop bas | Définissez PrintSettings.Dpi sur 300 ou plus. |
| Accès refusé | Autorisations d'impression insuffisantes | Exécutez l'application avec un compte utilisateur disposant des droits d'impression sur l'imprimante cible. |
| Imprimante hors ligne | Problème de connectivité réseau ou appareil | Vérifiez l'état de l'imprimante dans " Périphériques et imprimantes " de Windows ; réessayez après la reconnexion. |

Pour obtenir des conseils de dépannage supplémentaires, consultez le guide de dépannage et de demande d'assistance technique IronPrint ou contactez le support technique Iron Software .
Comment combiner la génération et l'impression de PDF en VB .NET?
Un flux de travail courant consiste à générer un PDF à l'exécution puis à l'imprimer immédiatement ; par exemple, créer une facture à partir d'enregistrements de base de données et l'envoyer à l'imprimante en une seule étape. IronPDF gère la création du PDF et IronPrint gère l'impression.
Pourquoi combiner IronPDF et IronPrint?
IronPDF convertit les fichiers HTML, ASPX et les documents existants en fichiers PDF correctement formatés. Une fois le fichier PDF chargé en mémoire ou enregistré sur disque, IronPrint l'envoie à l'imprimante sans nécessiter Adobe Reader. Les deux bibliothèques partagent le même modèle de déploiement basé sur NuGet ; il vous suffit donc d'ajouter deux packages et d'écrire du code VB .NET simple pour couvrir l'ensemble du pipeline de génération et d'impression.
Cette approche est particulièrement efficace pour :
Impression de factures et de reçus : générez des PDF à partir de modèles HTML et imprimez-les immédiatement.
- Génération de rapports : conversion des résultats de requêtes de base de données en PDF formatés, impression à la demande
- Impression d'étiquettes et de codes-barres : combinez IronBarcode pour la génération des codes-barres avec IronPrint pour l'impression.
- Traitement par lots de documents : parcourir les enregistrements, générer un PDF par enregistrement, puis les imprimer successivement.
Pour apprendre à générer des PDF à partir de HTML en VB .NET, consultez la documentation IronPDF pour VB .NET .
Selon la spécification du W3C pour les requêtes de support d'impression, le contrôle de la mise en page d'impression par les règles CSS @page est l'approche standard pour les flux de travail HTML vers l'impression. IronPDF respecte ces règles CSS lors du rendu, de sorte que le PDF que vous générez aura les marges, les sauts de page et la taille corrects avant IronPrint ne l'envoie à l'imprimante.
Comment imprimer plusieurs pages et contrôler les plages de pages ?
Lors de l'impression de documents volumineux, vous pouvez avoir besoin d'imprimer uniquement certaines pages, par exemple les pages 1 à 5 d'un rapport de 50 pages. La classe PrintSettings d'IronPrint prend en charge la configuration des plages de pages :
Configuration des plages de pages
Vous pouvez spécifier une page de début et une page de fin dans l'objet PrintSettings. La numérotation des pages commence à 1, conformément à la convention attendue par les utilisateurs dans les boîtes de dialogue d'impression standard. Si vous omettez la plage de pages, IronPrint imprime le document entier.
L'impression par plage de pages est particulièrement utile dans les environnements à volume élevé où la réimpression d'une seule page endommagée est plus rapide que la réimpression du document entier. Combiné avec NumberOfCopies, vous pouvez contrôler précisément combien de copies de quelles pages atteignent le plateau de sortie.
Pour obtenir la liste complète des propriétés PrintSettings, y compris la plage de pages, consultez le Guide pratique des paramètres d'impression d'IronPrint.
Impression en niveaux de gris
Certaines imprimantes privilégient l'impression couleur même lorsque le document ne contient aucune couleur, ce qui entraîne un gaspillage de toner ou d'encre. Vous pouvez forcer la sortie en niveaux de gris via PrintSettings. Ce paramètre est disponible sur les systèmes d'exploitation Windows et macOS et fonctionne pour tous les formats de documents pris en charge, et pas seulement pour les PDF.
La présentation des fonctionnalités IronPrint répertorie tous les paramètres d'impression disponibles avec des exemples pour chaque plateforme.
Quelles sont vos prochaines étapes ?
Vous disposez désormais des éléments de base pour l'impression de PDF dans les applications VB .NET :
- Impression silencieuse --
Printer.Print(path)pour les flux de travail automatisés - Imprimer par dialogue --
Printer.ShowPrintDialog(path)pour les travaux contrôlés par l'utilisateur - Paramètres personnalisés --
PrintSettingspour DPI, orientation, copies et sélection de l'imprimante - Enumération d'imprimantes --
Printer.GetPrinterNames()pour le routage dynamique des imprimantes - Gestion des erreurs : gestion structurée des exceptions avec validation préalable des fichiers
- Flux de travail combinés : IronPDF pour la génération, IronPrint pour l'impression
Pour exploiter ces fonctionnalités, commencez votre essai gratuit IronPrint et explorez ces ressources supplémentaires :
- Guide de démarrage IronPrint -- Installation complète
- Imprimer avec des exemples de boîtes de dialogue -- modèles de personnalisation des boîtes de dialogue
- Fonctionnalités avancées d'impression -- guide complet des paramètres
- Fonctionnalités d'information sur l'imprimante -- interrogation des propriétés de l'imprimante
- Référence de l'API IronPrint -- documentation complète des classes et des méthodes
- Guide de dépannage IronPrint -- résolution des problèmes courants
Questions Fréquemment Posées
Qu'est-ce qu'IronPrint ?
IronPrint est une bibliothèque qui simplifie le processus d'impression de documents PDF en VB .NET en éliminant le besoin d'Adobe Reader et d'autres dépendances.
Comment IronPrint facilite-t-il l'impression de PDF en VB .NET?
IronPrint permet l'impression de PDF en VB .NET grâce à une méthode simple qui fonctionne sur plusieurs plateformes, notamment Windows, macOS et les appareils mobiles.
Puis-je effectuer une impression silencieuse avec IronPrint?
Oui, IronPrint prend en charge l'impression silencieuse, permettant d'imprimer des documents PDF sans afficher de boîtes de dialogue ni nécessiter d'interaction de l'utilisateur.
IronPrint est-il compatible avec les plateformes mobiles ?
Oui, IronPrint est conçu pour fonctionner sur Windows, macOS et les plateformes mobiles, offrant une grande flexibilité dans les applications d'impression PDF.
IronPrint nécessite-t-il des dépendances externes ?
Non, IronPrint est une solution sans dépendance, ce qui signifie que vous n'avez pas besoin de logiciels supplémentaires comme Adobe Reader pour imprimer des PDF en VB .NET.
Quels sont les avantages IronPrint par rapport aux méthodes d'impression PDF traditionnelles ?
IronPrint offre un processus d'impression PDF simplifié et efficace en éliminant le besoin de solutions de contournement complexes et de dépendances externes, ce qui facilite son intégration dans les applications .NET .
Puis-je personnaliser les paramètres d'impression avec IronPrint?
Oui, IronPrint offre des options pour personnaliser les paramètres d'impression via la classe PrintSettings, permettant aux développeurs de contrôler la résolution (DPI), l'orientation du papier, le nombre de copies et la sélection de l'imprimante.
Comment IronPrint améliore-t-il le processus d'impression PDF dans les applications VB .NET ?
IronPrint améliore le processus d'impression PDF en offrant une méthode unique et facile à utiliser pour imprimer sur différentes plateformes sans nécessiter de logiciel supplémentaire.
IronPrint est-il adapté au développement multiplateforme ?
Oui, IronPrint convient au développement multiplateforme, car il prend en charge l'impression sur Windows, macOS, Linux et les plateformes mobiles.
Quel type de support IronPrint propose-t-il aux développeurs ?
IronPrint offre un soutien aux développeurs grâce à une documentation détaillée, des exemples de code et un accès à une assistance technique, garantissant ainsi une expérience de développement fluide.







