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

Manchmal müssen Webanwendungen ein Dokument als endgültiges Ergebnis drucken. Die Integration der Druckfunktion in eine Webanwendung kann jedoch eine echte Herausforderung darstellen. Viele Webanwendungen verwenden asynchrone Funktionen und eine synchrone Druckfunktion könnte potenziell Probleme verursachen. Aber es gibt eine Lösung! IronPrint bietet die PrintAsync-Funktion, ein entscheidendes Werkzeug für Webanwendungen. In diesem kurzen Tutorial zeigen wir die Leistungsfähigkeit der PrintAsync-Funktion in Kombination mit ASP.NET Core. Dies wird Ihnen zeigen, wie Sie eine echte Webanwendung simulieren, die ein Dokument als endgültiges Ergebnis druckt.

als-Überschrift:2(Schnellstart: Asynchrones PDF-Drucken mit IronPrint in ASP.NET)

Hier ist ein minimales Beispiel, das zeigt, wie einfach es ist, die PrintAsync-API von IronPrint zu verwenden – nur eine Zeile in Ihrem Controller, um das Drucken zu starten, ohne Ihre App zum Einfrieren zu bringen. Schneller Einstieg ohne Boilerplate-Code.

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
class="hsg-featured-snippet">

Minimaler Workflow (5 Schritte)

  1. Laden Sie eine C#-Bibliothek zum Drucken in Webanwendungen herunter
  2. Importieren Sie IronPrint in die Klassen-Datei
  3. Fügen Sie einen Druckknopf hinzu, um die Methode bei Klick auszulösen
  4. Implementieren Sie die PrintAsync-Methode im Controller
  5. Überprüfen Sie, ob das Dokument gedruckt wurde, wenn der Knopf gedrückt wird

Beispiel für asynchrones PDF-Drucken

Dieses Beispiel zeigt, wie man eine PDF-Datei asynchron in einem ASP.NET-Webanwendungsprojekt (.NET Framework) mit der PrintAsync-Methode druckt. Durch die Verwendung von PrintAsync wird der Druckvorgang asynchron gestartet, wodurch die Anwendung reaktionsfähig bleibt, im Gegensatz zum Blockieren des Threads mit herkömmlichen synchronen Print-Methoden.

Fügen Sie einen Druckknopf hinzu

Fügen Sie in Ihrer "Index.cshtml" (oder Startseitenansicht) einen Knopf hinzu, der bei einem Klick eine Aktion auslöst. Dieser Knopf wird eine ActionResult-Methode in Ihrem Controller aufrufen. Hier ist, wie Sie es implementieren können:

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


Implementieren Sie PrintAsync im Controller

In Ihrem HomeController implementieren Sie die PrintAsync-Methode. Diese Methode erlaubt es, den Druckvorgang asynchron durchzuführen, wodurch die Reaktionsfähigkeit der Anwendung verbessert wird.

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

Häufig gestellte Fragen

Wie kann man Dokumente asynchron in einer ASP.NET-Webanwendung drucken?

Sie können die PrintAsync-Methode von IronPrint verwenden, um Dokumente asynchron in einer ASP.NET-Webanwendung zu drucken. Diese Methode ermöglicht es, den Druckvorgang zu starten, ohne den Hauptthread der Anwendung zu blockieren, und sorgt so für Reaktionsfähigkeit.

Was sind die Schritte zur Integration einer Druckfunktion in eine ASP.NET-Webanwendung?

Um eine Druckfunktion zu integrieren, sollten Sie eine Bibliothek wie IronPrint von NuGet herunterladen, in Ihre Klassendatei importieren, einen Druckbutton in Ihrer Benutzeroberfläche hinzufügen, die PrintAsync-Methode in Ihrem Controller implementieren und die Funktionalität durch Testen des Druckvorgangs überprüfen.

Wie verbessert die PrintAsync-Methode das Drucken in Webanwendungen?

Die PrintAsync-Methode verbessert das Drucken, indem sie es ermöglicht, dass Vorgänge asynchron ablaufen, was bedeutet, dass der Hauptanwendungsthread während des Druckens nicht blockiert wird, was die Reaktionsfähigkeit und Benutzererfahrung der Anwendung verbessert.

Was ist der Vorteil der Verwendung asynchroner Funktionen in Webanwendungen?

Asynchrone Funktionen ermöglichen es, Aufgaben auszuführen, ohne den Hauptanwendungsthread zu blockieren, sodass andere Vorgänge reibungslos weiterlaufen können und die Reaktionsfähigkeit und Leistung der Anwendung insgesamt verbessert wird.

Wie fügt man einen Druckbutton in einer ASP.NET-Ansicht hinzu?

In Ihrer 'Index.cshtml'- oder Startseitenansicht können Sie einen Button mit einem onclick-Ereignis hinzufügen, das eine ActionResult-Methode in Ihrem Controller auslöst, wie zum Beispiel location.href='@Url.Action("PrintPdf", "Home")' zu verwenden, um das Drucken zu starten.

Welche Herausforderungen können bei synchronem Drucken in Webanwendungen auftreten?

Synchrones Drucken kann den Hauptanwendungsthread blockieren, was zu einer verringerten Reaktionsfähigkeit und einem möglichen Einfrieren der Benutzeroberfläche der Anwendung führen kann, bis der Druckvorgang abgeschlossen ist.

Wie überprüfen Sie, ob ein Dokument in einer ASP.NET-Anwendung gedruckt wurde?

Nach der Implementierung der Druckfunktionalität sollten Sie testen, indem Sie den Druckbutton in Ihrer Anwendung drücken und überprüfen, ob das Dokument wie erwartet gedruckt wird, um sicherzustellen, dass die PrintAsync-Methode korrekt funktioniert.

Was ist die Rolle der PrintPdf-Aktionsmethode im Controller?

Die PrintPdf-Aktionsmethode im Controller initiiert den Druckvorgang mithilfe der PrintAsync-Methode, sodass die Anwendung den Druckauftrag ohne Blockierung des Hauptthreads verarbeiten kann und letztendlich nach Abschluss eine Ansicht zurückkehrt.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 34,016 | Version: 2025.11 gerade veröffentlicht