IRONSOFTWAREHOME

Imprimer dans une application Web ASP.NET Framework avec C#

Curtis Chau
Curtis Chau
Updated: 22 avril 2026

La méthode PrintAsync d'IronPrint permet l'impression de documents non bloquante dans les applications web ASP.NET, empêchant les gels de l'UI lors du traitement des demandes d'impression. Cette approche asynchrone permet aux applications web réactives de gérer les opérations d'impression sans bloquer les threads.

Les applications web nécessitent souvent l'impression de documents en sortie finale. L'intégration des fonctionnalités d'impression dans les applications web présente des défis, en particulier lorsqu'il s'agit d'opérations asynchrones. IronPrint résout cela avec la fonction PrintAsync. Ce tutoriel démontre la mise en œuvre de PrintAsync avec ASP.NET Core pour créer une application web qui imprime des documents sans blocage.

Avant la mise en œuvre, notez qu'IronPrint offre des fonctionnalités complètes, notamment recherche d'informations sur l'imprimante et paramètres d'impression personnalisés. Ces capacités en font un outil idéal pour les applications ASP.NET d'entreprise nécessitant une fonctionnalité d'impression robuste.

Démarrage rapide : Impression PDF asynchrone dans ASP.NET
  1. Install IronPrint via NuGet: Install-Package IronPrint
  2. Importez IronPrint dans le fichier contrôleur
  3. Ajoutez un bouton d'impression pour déclencher la méthode
  4. Appelez await Printer.PrintAsync("file.pdf") dans l'action contrôleur
  5. Vérifiez l'impression du document à la pression du bouton
  1. 1Install IronPrint with NuGet Package Manager

    PM > Install-Package IronPrint

  2. 2Copiez et exécutez cet extrait de code.

    return await IronPrint.Printer.PrintAsync("Basic.pdf");
    C#
  3. 3Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronPrint dans votre projet dès aujourd'hui avec un essai gratuit
    arrow pointer

Commencez avec IronPrint

Start using IronPrint in your project today with a free trial.

Première étape :
arrow pointer

Comment implémenter l'impression PDF asynchrone en ASP.NET?

Cet exemple démontre l'impression asynchrone d'un fichier PDF dans un projet ASP.NET Web Application (.NET Framework) en utilisant la méthode PrintAsync. PrintAsync initie l'impression de manière asynchrone, gardant l'application réactive par rapport aux méthodes synchrones Print qui bloquent les threads.

L'approche asynchrone est essentielle dans les applications web où plusieurs utilisateurs peuvent déclencher des opérations d'impression simultanément. Contrairement à la méthode synchrone Print, PrintAsync garantit que votre application gère les demandes concurrentes sans dégradation des performances.

Où dois-je ajouter le bouton d'impression?

Dans votre fichier " Index.cshtml " (ou vue de page d'accueil), ajoutez un bouton qui déclenche une action lorsqu'on clique dessus. Ce bouton invoque une méthode ActionResult dans votre contrôleur :

@{
    ViewBag.Title = "Home Page";
}

<main>
    <section class="row" aria-labelledby="aspnetTitle">
        <h1 id="title">ASP.NET</h1>
        <p>
            <!-- Button that triggers the PrintPdf ActionResult -->
            <a class="btn btn-primary btn-md" onclick="location.href='@Url.Action("PrintPdf", "Home")'">Print PDF</a>
        </p>
    </section>
</main>
HTML

Interface d'application ASP.NET affichant le menu de navigation et le bouton bleu Imprimer PDF pour générer des PDF


Comment configurer PrintAsync dans mon contrôleur?

Dans votre HomeController, implémentez la méthode PrintAsync. Cette méthode exécute les opérations d'impression de manière asynchrone, ce qui améliore la réactivité de l'application. Avant la mise en œuvre, veillez à ce que la configuration de la clé de licence soit correcte pour une utilisation en production.

using IronPrint;
using System.Threading.Tasks;
using System.Web.Mvc;

namespace WebApplication4.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";
            return View();
        }

        public ActionResult Contact()
        {
            return View();
        }

        // Action method to handle the printing operation
        // This makes use of the PrintAsync method to avoid blocking the main thread
        public ActionResult PrintPdf()
        {
            // Wait for the asynchronous print operation to complete
            Printer.PrintAsync("Basic.pdf").Wait();

            // Return some view, for example, a confirmation page or the index page
            return View(); // Replace with an appropriate view
        }
    }
}

Pour les scénarios avancés, mettez en œuvre des modèles asynchrones/attendus appropriés et personnalisez l'opération d'impression. Voici un exemple amélioré démontrant la gestion des erreurs et les paramètres d'impression personnalisés :

using IronPrint;
using System;
using System.Threading.Tasks;
using System.Web.Mvc;

namespace WebApplication4.Controllers
{
    public class HomeController : Controller
    {
        // Async action method with proper error handling
        public async Task<ActionResult> PrintPdfAdvanced()
        {
            try
            {
                // Create custom print settings
                var printSettings = new PrintSettings
                {
                    // Select specific printer
                    PrinterName = "Microsoft Print to PDF",
                    // Set paper size
                    PaperSize = PaperSize.A4,
                    // Configure orientation
                    PaperOrientation = PaperOrientation.Portrait,
                    // Set number of copies
                    NumberOfCopies = 1,
                    // Configure DPI for high-quality output
                    Dpi = 300
                };

                // Print asynchronously with custom settings
                await Printer.PrintAsync("Basic.pdf", printSettings);

                // Log successful print operation (optional)
                System.Diagnostics.Debug.WriteLine("Document printed successfully");

                // Return success view or redirect
                TempData["PrintMessage"] = "Document sent to printer successfully!";
                return RedirectToAction("Index");
            }
            catch (Exception ex)
            {
                // Handle printing errors gracefully
                System.Diagnostics.Debug.WriteLine($"Printing error: {ex.Message}");
                TempData["ErrorMessage"] = "Unable to print document. Please try again.";
                return RedirectToAction("Index");
            }
        }
    }
}

Cette mise en œuvre améliorée présente des concepts du guide Paramètres d'impression, notamment la spécification des noms d'imprimante, la configuration des formats de papier et le traitement approprié des erreurs.

Lorsque vous travaillez avec la sélection d'imprimantes dans des environnements web, tirez parti de la fonctionnalité Get Printer Names pour alimenter de manière dynamique les listes d'imprimantes disponibles :

// Get list of available printers
public ActionResult GetAvailablePrinters()
{
    var printers = Printer.GetPrinterNames();
    ViewBag.PrinterList = new SelectList(printers);
    return View();
}

Pour les scénarios nécessitant une interaction avec l'utilisateur, envisagez de mettre en œuvre une approche Imprimer avec le dialogue, bien que cette approche convienne mieux aux applications de bureau qu'aux environnements web.

Considérations supplémentaires pour le déploiement en production

Lorsque vous déployez votre application ASP.NET avec IronPrint, tenez compte des facteurs suivants :

  1. Configuration de la licence : Pour les applications ASP.NET, configurez votre clé de licence dans Web.config. Consultez le guide Configuration de la clé de licence dans Web.config pour une configuration correcte.

  2. Accès aux imprimantes : assurez-vous que l'identité du pool d'applications dispose des autorisations nécessaires pour accéder aux imprimantes locales ou réseau. La documentation Imprimez vos documents présente les conditions d'accès à l'imprimante.

  3. Gestion des erreurs : mettre en œuvre une gestion robuste des erreurs pour les imprimantes hors ligne ou les documents inaccessibles. Pour les questions techniques, utilisez le processus Engineering Request pour résoudre les problèmes complexes.

  4. Performance : Pour les gros volumes d'impression, mettez en place un système de file d'attente pour gérer efficacement les demandes d'impression. L'PrintAsync asynchrone est idéal pour de telles implémentations.

Pour des capacités d'impression complètes, consultez la référence API pour une documentation détaillée de toutes les méthodes et propriétés dans l'espace de noms IronPrint.

Questions Fréquemment Posées

Comment mettre en œuvre l'impression PDF asynchrone dans les applications ASP.NET Framework ?

Vous pouvez mettre en œuvre l'impression PDF asynchrone à l'aide de la méthode PrintAsync d'IronPrint. Il suffit d'ajouter `return await IronPrint.Printer.PrintAsync("yourfile.pdf");` dans l'action de votre contrôleur. Cette approche non bloquante garantit que votre application web reste réactive pendant le traitement des demandes d'impression, évitant ainsi que l'interface utilisateur ne se fige pendant les opérations d'impression de documents.

Pourquoi devrais-je utiliser l'impression asynchrone au lieu de l'impression synchrone dans les applications web ?

L'impression asynchrone avec la méthode PrintAsync d'IronPrint est essentielle pour les applications web où plusieurs utilisateurs peuvent déclencher des opérations d'impression simultanément. Contrairement aux méthodes d'impression synchrones qui bloquent les threads, PrintAsync permet à votre application de traiter des demandes simultanées sans dégradation des performances, en maintenant la réactivité même en cas de forte charge.

Quelles sont les étapes minimales pour ajouter l'impression PDF à mon projet ASP.NET Framework ?

Le flux de travail minimal comprend 5 étapes : 1) Télécharger la bibliothèque IronPrint pour C#, 2) Importer IronPrint dans votre fichier de classe, 3) Ajouter un bouton d'impression à votre vue, 4) Mettre en œuvre PrintAsync dans l'action de votre contrôleur, et 5) Vérifier que l'impression du document fonctionne lorsque le bouton est pressé. Ce processus rationalisé ne nécessite qu'un minimum de modifications du code.

Comment ajouter un bouton d'impression à ma vue ASP.NET ?

Dans votre Index.cshtml ou la vue de la page d'accueil, ajoutez un bouton qui déclenche une action du contrôleur. Utilisez un code HTML comme ``. Ce bouton invoquera la méthode PrintPDF ActionResult dans votre contrôleur Home lorsqu'il sera cliqué.

Puis-je personnaliser les paramètres d'impression lorsque j'utilise l'impression asynchrone ?

Oui, IronPrint offre des fonctionnalités complètes, notamment des paramètres d'impression personnalisés et la récupération d'informations sur l'imprimante. Ces capacités en font un outil idéal pour les applications ASP.NET d'entreprise nécessitant une fonctionnalité d'impression robuste avec des options permettant de configurer la sélection de l'imprimante, l'orientation de la page, les marges et d'autres paramètres d'impression.

How can I handle errors during the printing process?

Use try-catch blocks around your PrintAsync calls to catch exceptions and handle them gracefully, providing user feedback or logging as necessary.

What should I consider for deploying an ASP.NET application using IronPrint?

Ensure your application's license configuration, printer access permissions, and error handling mechanisms are properly set up in production.

How can I dynamically populate available printer lists in my application?

Use the GetPrinterNames method from IronPrint to retrieve and dynamically display a list of available printers to users.

What is the role of the PrintAsync method in managing high-volume printing?

PrintAsync supports high-volume printing by enabling a queue system that efficiently manages print requests without blocking the application.

Is it possible to use IronPrint for printing with a dialog in a web environment?

While it's possible to integrate a print dialog in desktop applications, this approach is less suitable for web environments, where asynchronous methods are preferred for best performance.

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