Wie man in einem ASP.NET Webanwendungs-Framework druckt

Chaknith Bin
Chaknith Bin
12. Mai 2025
Aktualisiert 12. Mai 2025
Teilen Sie:
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 Leistung der PrintAsync-Funktion in Kombination mit ASP. NET Core. Dies zeigt Ihnen, wie Sie eine echte Webanwendung simulieren, die ein Dokument als endgültiges Ergebnis druckt.

Erste Schritte mit IronPrint

Beginnen Sie noch heute mit der Verwendung von IronPrint in Ihrem Projekt mit einer kostenlosen Testversion.

Erster Schritt:
green arrow pointer

Asynchrones PDF-Druckbeispiel

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

Fügen Sie eine Drucktaste hinzu

Fügen Sie in Ihrer "Index.cshtml" (oder Startseitenansicht) eine Schaltfläche hinzu, die bei Klick eine Aktion auslöst. Diese Schaltfläche wird eine ActionResult-Methode in Ihrem Controller aufrufen. So können Sie es implementieren:

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

Indexseite


Implementieren Sie PrintAsync im Controller

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

[{i:(In diesem Beispiel ist die Funktion nicht asynchron, und PrintAsync funktioniert sowohl in asynchronen als auch in synchronen Funktionen; allerdings würde die Verwendung der standardmäßigen Print-Methode in einer Webanwendung nicht funktionieren.)

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();
        }

        public ActionResult PrintPdf()
        {
            // Your printing logic here
            Printer.PrintAsync("Basic.pdf").Wait();

            return 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();
        }

        public ActionResult PrintPdf()
        {
            // Your printing logic here
            Printer.PrintAsync("Basic.pdf").Wait();

            return 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

		Public Function PrintPdf() As ActionResult
			' Your printing logic here
			Printer.PrintAsync("Basic.pdf").Wait()

			Return View()
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel
Chaknith Bin
Software-Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat tiefgehende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Erkenntnisse aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentation und einem insgesamt besseren Erlebnis bei.