How to Print in an ASP.NET Web Application Framework

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

Parfois, les applications web doivent imprimer un document en sortie finale. Cependant, l'intégration de la fonction d'impression dans une application web peut constituer un véritable défi. De nombreuses applications web utilisent des fonctions asynchrones, et une fonction d'impression synchrone pourrait potentiellement causer des problèmes. Mais il y a une solution ! IronPrint propose la fonction PrintAsync, un outil crucial pour les applications web. Dans ce bref tutoriel, nous allons démontrer la puissance de la fonction PrintAsync combinée à ASP.NET Core. Cela vous montrera comment simuler une application web réelle qui imprime un document en tant que sortie finale.

Quickstart : Async PDF Printing with IronPrint in ASP.NET

Voici un exemple minimal montrant à quel point il est facile d'utiliser l'API PrintAsync d'IronPrint - une seule ligne dans votre contrôleur pour lancer l'impression sans geler votre application. Démarrez rapidement sans code de base.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPrint with NuGet Package Manager

    PM > Install-Package IronPrint

  2. Copy and run this code snippet.

    return await IronPrint.Printer.PrintAsync("Basic.pdf");
  3. Deploy to test on your live environment

    Start using IronPrint in your project today with a free trial
    arrow pointer

Exemple d'impression PDF asynchrone

Cet exemple montre comment imprimer un fichier PDF de manière asynchrone dans un projet ASP.NET Web Application (.NET Framework) à l'aide de la méthode PrintAsync. En utilisant PrintAsync, l'opération d'impression est lancée de manière asynchrone, ce qui permet à l'application de rester réactive, au lieu de bloquer le thread avec les méthodes Print synchrones traditionnelles.

Ajouter un bouton d'impression

Dans votre "Index.cshtml" (ou vue de la page d'accueil), ajoutez un bouton qui déclenche une action lorsqu'on clique dessus. Ce bouton invoquera une méthode ActionResult dans votre contrôleur. Voici comment vous pouvez la mettre en œuvre :

@{
    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>
@{
    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

Index page


Mettre en œuvre PrintAsync dans le contrôleur

Dans votre HomeController, vous mettrez en œuvre la méthode PrintAsync. Cette méthode permet à l'opération d'impression de se dérouler de manière asynchrone, ce qui améliore la réactivité de l'application.

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
        }
    }
}
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
        }
    }
}
Imports IronPrint
Imports System.Threading.Tasks
Imports System.Web.Mvc

Namespace WebApplication4.Controllers
	Public Class HomeController
		Inherits Controller

		Public Function Index() As ActionResult
			Return View()
		End Function

		Public Function About() As ActionResult
			ViewBag.Message = "Your application description page."
			Return View()
		End Function

		Public Function Contact() As ActionResult
			Return View()
		End Function

		' Action method to handle the printing operation
		' This makes use of the PrintAsync method to avoid blocking the main thread
		Public Function PrintPdf() As ActionResult
			' 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
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

Questions Fréquemment Posées

Comment pouvez-vous imprimer des documents de manière asynchrone dans une application web ASP.NET ?

Vous pouvez utiliser la méthode PrintAsync d'IronPrint pour imprimer des documents de manière asynchrone dans une application web ASP.NET. Cette méthode permet de lancer l'opération d'impression sans bloquer le fil principal de l'application, maintenant ainsi la réactivité.

Quelles sont les étapes pour intégrer une fonction d'impression dans une application web ASP.NET ?

Pour intégrer une fonction d'impression, vous devez télécharger une bibliothèque comme IronPrint depuis NuGet, l'importer dans votre fichier de classe, ajouter un bouton d'impression dans votre interface utilisateur, implémenter la méthode PrintAsync dans votre contrôleur et vérifier la fonctionnalité en testant l'opération d'impression.

Comment la méthode PrintAsync améliore-t-elle l'impression dans les applications web ?

La méthode PrintAsync améliore l'impression en permettant aux opérations de se produire de manière asynchrone, ce qui signifie que le fil principal de l'application n'est pas bloqué pendant l'impression, améliorant ainsi la réactivité et l'expérience utilisateur de l'application.

Quel est l'avantage d'utiliser des fonctions asynchrones dans les applications web ?

Les fonctions asynchrones permettent d'exécuter des tâches sans bloquer le fil principal de l'application, permettant ainsi à d'autres opérations de continuer à s'exécuter de manière fluide et améliorant la réactivité et la performance globale de l'application.

Comment ajoutez-vous un bouton d'impression dans une vue ASP.NET ?

Dans votre vue 'Index.cshtml' ou page d'accueil, vous pouvez ajouter un bouton avec un événement onclick qui déclenche une méthode ActionResult dans votre contrôleur, par exemple en utilisant location.href='@Url.Action("PrintPdf", "Home")' pour lancer l'impression.

Quels défis peuvent surgir de l'impression synchrone dans les applications web ?

L'impression synchrone peut bloquer le fil principal de l'application, entraînant une diminution de la réactivité et un gel potentiel de l'interface de l'application jusqu'à ce que l'opération d'impression soit terminée.

Comment vérifiez-vous qu'un document a été imprimé dans une application ASP.NET ?

Après avoir implémenté la fonctionnalité d'impression, vous devez tester en appuyant sur le bouton d'impression dans votre application et vérifier si le document s'imprime comme prévu, en vous assurant que la méthode PrintAsync fonctionne correctement.

Quel est le rôle de la méthode d'action PrintPdf dans le contrôleur ?

La méthode d'action PrintPdf dans le contrôleur initie l'opération d'impression en utilisant la méthode PrintAsync, permettant à l'application de gérer le travail d'impression sans bloquer le fil principal, et finissant par retourner une vue à la fin.

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?
Nuget Téléchargements 34,016 | Version : 2025.11 vient de sortir