IRONSOFTWAREHOME

Drukowanie w aplikacji internetowej ASP.NET Framework przy użyciu języka C#

Curtis Chau
Curtis Chau
Updated: 22 kwietnia 2026

Metoda PrintAsync w IronPrint umozliwia drukowanie dokumentow bez blokowania w aplikacjach webowych ASP.NET, zapobiegajac zamrozeniu interfejsu uzytkownika podczas przetwarzania zadan drukowania. To asynchroniczne podejście gwarantuje, że responsywne aplikacje internetowe mogą obsługiwać operacje PRINT bez blokowania wątków.

Aplikacje internetowe często wymagają drukowania dokumentów jako końcowego wyniku. Integracja funkcji PRINT z aplikacjami internetowymi wiąże się z pewnymi wyzwaniami, zwłaszcza w przypadku operacji asynchronicznych. IronPrint rozwiazuje to za pomoca funkcji PrintAsync. Ten poradnik pokazuje wdrozenie PrintAsync z ASP.NET Core w celu stworzenia aplikacji webowej, ktora drukuje dokumenty bez blokowania.

Przed wdrożeniem należy pamiętać, że IronPrint oferuje szeroki zakres funkcji, w tym pobieranie informacji o drukarce i niestandardowe ustawienia drukowania. Te możliwości sprawiają, że idealnie nadaje się do Enterprise aplikacji ASP.NET wymagających solidnej funkcjonalności drukowania.

Szybki start: Asynchroniczne drukowanie plików PDF w ASP.NET
  1. Zainstaluj IronPrint za pomoca NuGet: Install-Package IronPrint
  2. Zaimportuj IronPrint do pliku kontrolera
  3. Dodaj przycisk PRINT, aby wywołać metodę
  4. Wywolaj await Printer.PrintAsync("file.pdf") w akcji kontrolera
  5. Sprawdź drukowanie dokumentu po naciśnięciu przycisku PRINT
  1. 1Install IronPrint with NuGet Package Manager

    PM > Install-Package IronPrint

  2. 2Skopiuj i uruchom ten fragment kodu.

    return await IronPrint.Printer.PrintAsync("Basic.pdf");
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPrint w swoim projekcie już dziś z darmową wersją próbną
    arrow pointer

Rozpocznij pracę z IronPrint

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

Pierwszy krok:
arrow pointer

Jak zaimplementować asynchroniczne drukowanie plików PDF w ASP.NET?

Ten przyklad pokazuje drukowanie pliku PDF asynchronicznie w projekcie ASP.NET Web Application (.NET Framework) z użyciem metody PrintAsync. PrintAsync rozpoczyna drukowanie w trybie asynchronicznym, utrzymujac aplikacje w stanie reaktywnym w porownaniu z synchronicznymi metodami Print, ktore blokuja watki.

Podejście asynchroniczne ma kluczowe znaczenie w aplikacjach internetowych, w których wielu użytkowników może jednocześnie uruchamiać operacje PRINT. W przeciwienstwie do synchronicznej metody Print, PrintAsync zapewnia, ze aplikacja obsluguje jednoczesne zadania bez pogorszenia wydajnosci.

Gdzie powinienem umieścić przycisk PRINT?

W pliku "Index.cshtml" (lub widoku strony głównej) dodaj przycisk, który po kliknięciu uruchamia akcję. Ten przycisk wywoluje metode ActionResult w kontrolerze:

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

ASP.NET - interfejs aplikacji pokazuje menu nawigacyjne oraz niebieski przycisk Print PDF do generowania PDF


Jak skonfigurować PrintAsync w moim kontrolerze?

W HomeController zaimplementuj metode PrintAsync. Ta metoda wykonuje operacje drukowania asynchronicznie, zwiększając responsywność aplikacji. Przed wdrożeniem należy upewnić się, że klucz licencyjny jest poprawnie skonfigurowany do użytku produkcyjnego.

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
        }
    }
}

W zaawansowanych scenariuszach należy wdrożyć odpowiednie wzorce async/await i dostosować operację PRINT. Oto rozbudowany przykład ilustrujący obsługę błędów i niestandardowe ustawienia drukowania:

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

Ta ulepszona implementacja prezentuje koncepcje z przewodnika "Ustawienia drukowania", w tym określanie nazw drukarek, konfigurowanie rozmiarów papieru oraz odpowiednie postępowanie w przypadku błędów.

Podczas pracy z wyborem drukarki w środowiskach internetowych należy wykorzystać funkcję Get Printer Names do dynamicznego wypełniania list dostępnych drukarek:

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

W scenariuszach wymagających interakcji z użytkownikiem warto rozważyć zastosowanie podejścia "PRINT z oknem dialogowym", choć rozwiązanie to lepiej sprawdza się w aplikacjach desktopowych niż w środowiskach internetowych.

Dodatkowe uwagi dotyczące wdrożenia produkcyjnego

Wdrażając aplikację ASP.NET z wykorzystaniem IronPrint, należy wziąć pod uwagę następujące czynniki:

  1. Konfiguracja licencji: W przypadku aplikacji ASP.NET skonfiguruj klucz licencyjny w pliku Web.config. Aby uzyskać informacje na temat prawidłowej konfiguracji, zapoznaj się z przewodnikiem Ustawianie klucza licencyjnego w pliku Web.config.

  2. Dostęp do drukarek: Upewnij się, że tożsamość puli aplikacji ma uprawnienia dostępu do drukarek lokalnych lub sieciowych. Dokumentacja Print Your Documents zawiera wymagania dotyczące dostępu do drukarki.

  3. Obsługa błędów: Należy wdrożyć solidną obsługę błędów dla drukarek offline lub dokumentów, do których nie ma dostępu. W przypadku problemów technicznych należy skorzystać z procesu zgłoszeń inżynieryjnych, aby rozwiązać złożone problemy.

  4. Wydajność: W przypadku drukowania dużych nakładów należy wdrożyć system kolejkowania, aby efektywnie zarządzać zleceniami drukowania. Asynchroniczny PrintAsync jest idealny dla takich wdrożeń.

Aby uzyskac pelne mozliwosci drukowania, zapoznaj sie z Dokumentacja API w celu uzyskania szczegolowych informacji o wszystkich metodach i wlasciwosciach w przestrzeni nazw IronPrint.

Często Zadawane Pytania

Jak zaimplementować asynchroniczne drukowanie PDF w aplikacjach ASP.NET Framework?

Możesz zaimplementować asynchroniczne drukowanie PDF używając metody PrintAsync IronPrint. Po prostu dodaj `return await IronPrint.Printer.PrintAsync("yourfile.pdf");` w akcji kontrolera. To podejście bez blokowania zapewnia, że Twoja aplikacja webowa pozostaje responsywna podczas przetwarzania żądań druku, zapobiegając zamrożeniom interfejsu użytkownika podczas operacji drukowania dokumentów.

Dlaczego powinienem używać asynchronicznego drukowania zamiast synchronicznego drukowania w aplikacjach webowych?

Asynchroniczne drukowanie z metodą PrintAsync IronPrint jest kluczowe dla aplikacji webowych, gdzie wielu użytkowników może jednocześnie uruchamiać operacje drukowania. W odróżnieniu od synchronicznych metod Print, które blokują wątki, PrintAsync zapewnia, że Twoja aplikacja obsługuje równoczesne żądania bez pogorszenia wydajności, utrzymując responsywność nawet pod dużym obciążeniem.

Jakie są minimalne kroki, aby dodać drukowanie PDF do mojego projektu ASP.NET Framework?

Minimalny przepływ pracy składa się z 5 kroków: 1) Pobierz bibliotekę IronPrint dla C#, 2) Importuj IronPrint do pliku klasy, 3) Dodaj przycisk drukowania do widoku, 4) Zaimplementuj PrintAsync w akcji kontrolera, i 5) Zweryfikuj działanie drukowania dokumentu po naciśnięciu przycisku. Ten uproszczony proces wymaga minimalnych zmian w kodzie.

Jak dodać przycisk drukowania do mojego widoku ASP.NET?

In your Index.cshtml or home page view, add a button that triggers a controller action. Use HTML like ``. This button will invoke the PrintPDF ActionResult method in your Home controller when clicked.

Czy mogę dostosować ustawienia drukowania przy użyciu asynchronicznego drukowania?

Tak, IronPrint oferuje rozbudowane funkcje, w tym dostosowane ustawienia drukowania i pobieranie informacji o drukarce. Te możliwości sprawiają, że jest idealnym rozwiązaniem dla aplikacji ASP.NET w przedsiębiorstwach, które wymagają zaawansowanej funkcjonalności drukowania z opcjami konfigurowania wyboru drukarki, orientacji strony, marginesów i innych parametrów drukowania.

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
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 46,090Wersja:2026.9właśnie wydany

Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package IronPrint
nuget.org/packages/IronPrint/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i wyszukaj "IronPrint"
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

  1. Pobierz i rozpakuj IronPrint do takiej lokalizacji jak ~/Libs w katalogu Twojego rozwiązania
  2. W Eksploratorze rozwiązań Visual Studio kliknij prawym przyciskiem na Odwołania. Wybierz Przeglądaj i wybierz "IronPrint.dll"

Licencje od $999

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta