Passer au contenu du pied de page
UTILISATION DE IRONPRINT

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"
$vbLabelText   $csharpLabel

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, l'interception des é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
$vbLabelText   $csharpLabel

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 avec une valeur PrinterName, il achemine la tâche vers ce périphérique spécifique.

Pour les scénarios par lots, vous pouvez parcourir une liste de chemins de fichiers et appeler Printer.Print pour chacun d'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 fournit Printer.ShowPrintDialog précisément 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
$vbLabelText   $csharpLabel

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à.

VB .NET Imprimer un PDF sans ouvrir Adobe avec IronPrint: Image 1 - Boîte de dialogue d'impression

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 offre un contrôle programmatique complet sur chaque aspect d'une tâche 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
$vbLabelText   $csharpLabel

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 combien de copies produire en une seule tâche. 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 la casse et les espaces. Utilisez Printer.GetPrinterNames() (traité dans la 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
$vbLabelText   $csharpLabel

Printer.GetPrinterNames() interroge le sous-système d'impression 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 via un logiciel 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.

VB .NET Imprimer un PDF sans ouvrir Adobe avec IronPrint: Image 2 - Sélection de l'imprimante

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
$vbLabelText   $csharpLabel

Erreurs courantes et comment les corriger

Le tableau suivant décrit les erreurs d'impression les plus fréquentes et leurs solutions :

Erreurs courantes d'impression PDF en VB .NET et 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.

VB .NET Imprimer un PDF sans ouvrir Adobe avec IronPrint: Image 3 - Exemple d'erreur

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 médias d'impression , le contrôle de la mise en page d'impression via les règles CSS @page est l'approche standard pour les flux de travail HTML vers 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 de la plage 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 le nombre de copies de chaque page qui atteignent le bac de sortie.

Pour la liste complète des propriétés PrintSettings, y compris la plage de pages, consultez le guide pratique des paramètres d'impression 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

  • Impression de boîtes de dialogue -- Printer.ShowPrintDialog(path) pour les tâches contrôlées par l'utilisateur
  • Paramètres personnalisés -- PrintSettings pour la résolution, l'orientation, le nombre de copies et la sélection de l'imprimante
  • Énumération des 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 :

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.

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

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi