Wie man in einem ASP.NET Webanwendungs-Framework druckt
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.
Beginnen Sie noch heute mit der Verwendung von IronPrint in Ihrem Projekt mit einer kostenlosen Testversion.
Wie man in einem ASP.NET Webanwendungs-Framework druckt
- Laden Sie eine C#-Bibliothek zum Drucken in Webanwendungen herunter
- Importieren Sie IronPrint in die Klassendatei
- Fügen Sie eine Drucktaste hinzu, um die Methode auszulösen, sobald sie angeklickt wird
- Implementieren Sie die
PrintAsync
-Methode im Controller - Überprüfen Sie, ob das Dokument gedruckt wurde, wenn die Schaltfläche gedrückt wird
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>
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