IRONSOFTWAREHOME

Méthode Print() se bloque dans WPF et WinForms

Curtis Chau
Curtis Chau
Updated: 29 juin 2026

Lorsque vous appelez la méthode synchrone Print() dans une application WPF ou WinForms, la méthode est invoquée mais ne s'achève jamais. L'appel se bloque indéfiniment, bloquant le fil et gelant l'interface utilisateur même lorsque la tâche d'impression elle-même est valide.

var printer = new IronPrint.Printer();
printer.Print("Test print"); // Hangs here
C#

C'est le comportement attendu. La méthode synchrone Print() s'exécute sur le thread UI de l'application, où le Dispatcher WPF et le contexte de threading entrent en conflit avec le pipeline d'impression d'IronPrint et bloquent l'appel.

Solution

Appelez l'API asynchrone à la place de celle synchrone.

var printer = new IronPrint.Printer();
await printer.PrintAsync("Test print");
C#

PrintAsync() déplace l'opération d'impression hors du chemin bloquant, ce qui permet au travail de s'achever et à l'interface utilisateur de rester réactive dans les deux cas, WPF et WinForms.

Bonnes pratiques

  • Mettez à jour IronPrint : exécutez la dernière version pour corriger le problème lorsqu'il est disponible.
  • Privilégier les APIs asynchrones : utilisez PrintAsync() dans WPF et WinForms pour éviter les interblocages du thread UI.
  • Ne jamais bloquer sur le thread principal : évitez .Result et .Wait() contre un appel asynchrone.
  • Déléguez les I/O à long terme : maintenez l'impression et autres travaux externes sur des tâches en arrière-plan ou asynchrones.
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 et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Prêt à commencer?

Nuget Downloads 46,090Version :2026.9vient de sortir

Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPrint
nuget.org/packages/IronPrint/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez "IronPrint"
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

  1. Téléchargez et décompressez IronPrint à un emplacement tel que ~/Libs dans votre répertoire Solution
  2. Dans Visual Studio Solution Explorer, cliquez avec le bouton droit sur Références. Sélectionnez Parcourir, "IronPrint.dll"

Licences à partir de $999

Vous avez une question ? Contactez notre équipe de développement.

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise