IRONSOFTWAREHOME

ASP.NET Framework Web Uygulamasında C# ile Yazdırma

Curtis Chau
Curtis Chau
Updated: 22 Nisan 2026

IronPrint'in PrintAsync yöntemi, ASP.NET web uygulamalarında baskı taleplerini işlerken UI donmalarını önleyerek engellenmeyen belge yazdırmayı sağlar. Bu asenkron yaklaşım, web uygulamalarının baskı işlemlerini engellemeden ele almasını sağlar.

Web uygulamaları genellikle nihai çıktı olarak belge yazdırma gereksinimine sahiptir. Baskı işlevselliğinin web uygulamalarıyla entegrasyonu, özellikle asenkron işlemlerle uğraşırken zorluklar sunar. IronPrint, PrintAsync işlevi ile bunu çözer. Bu öğretici, ASP.NET Core ile PrintAsync uygulamayı göstererek engellemeden belge yazdıran bir web uygulaması oluşturmayı göstermektedir.

Uygulamadan önce, IronPrint'in özellikleri dahil olmak üzere yazıcı bilgisi edinme ve özel baskı ayarları sunduğunu unutmayın. Bu yetenekler, sağlam baskı işlevselliği gerektiren kurumsal ASP.NET uygulamaları için idealdir.

Hızlı Başlangıç: ASP.NET'de Asenkron PDF Yazdırma
  1. IronPrint'i NuGet üzerinden kurun: Install-Package IronPrint
  2. IronPrint kontrol dosyasına alın
  3. Yöntemi tetiklemek için bir yazdırma düğmesi ekleyin
  4. Kontrol eyleminde await Printer.PrintAsync("file.pdf") çağırın
  5. Düğmeye basıldığında belgenin yazdırılmasını doğrulayın
  1. 1Install IronPrint with NuGet Package Manager

    PM > Install-Package IronPrint

  2. 2Bu kod parçacığını kopyalayın ve çalıştırın.

    return await IronPrint.Printer.PrintAsync("Basic.pdf");
    C#
  3. 3Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronPrint kullanmaya başlayın
    arrow pointer

IronPrint ile başlayın

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

İlk Adım:
arrow pointer

ASP.NET'de Asenkron PDF Yazdırmayı Nasıl Gerçekleştiririm?

Bu örnek, PrintAsync yöntemiyle ASP.NET Web Uygulaması (.NET Framework) projesinde bir PDF dosyasının eşzamansız olarak yazdırılmasını göstermektedir. PrintAsync eşzamansız olarak yazdırmayı başlatır, uygulamanın eşzamanlı Print yöntemleriyle karşılaştırıldığında yanıt vermesini sağlar ve thread'leri bloklamaz.

Asenkron yaklaşım, birden fazla kullanıcının aynı anda yazdırma işlemleri başlatabileceği web uygulamaları için kritiktir. Eşzamanlı Print yönteminden farklı olarak, PrintAsync uygulamanızın performans düşüklüğü olmadan eşzamanlı istekleri yönetmesini garanti eder.

Yazdırma Düğmesini Nereye Eklemeliyim?

'Index.cshtml' (ya da ana sayfa görünümünüz) sayfanıza tıklama ile etkileşime girecek bir düğme ekleyin. Bu buton kontrolörünüzde bir ActionResult yöntemini çağırır:

@{
    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 uygulama arayüzü, gezinti menüsü ve PDF oluşturmak için mavi Yazdır PDF butonunu gösteriyor


PrintAsync'i Denetleyicime Nasıl Yapılandırırım?

HomeController içeriğinde PrintAsync yöntemini uygulayın. Bu yöntem, uygulama yanıtını artırmak için asenkron olarak yazdırma işlemlerini gerçekleştirir. Uygulamadan önce, üretim kullanımı için uygun lisans anahtarı yapılandırmasını gerçekleştirdiğinizden emin olun.

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

Gelişmiş senaryolar için, uygun async/await desenlerini uygulayın ve baskı işlemini özelleştirin. Hata yönetimi ve özel baskı ayarlarını gösteren geliştirilmiş bir örnek:

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

Bu geliştirilmiş uygulama Baskı Ayarları kılavuzundan kavramları sergiler, yazıcı adlarını belirtmek, kağıt boyutlarını yapılandırmak ve hataları uygun şekilde ele almak gibi.

Web ortamlarında yazıcı seçimiyle çalışırken, erişilebilir yazıcı listelerini dinamik olarak doldurmak için Yazıcı Adları Alma işlevselliğinden yararlanın:

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

Kullanıcı etkileşim gerektiren senaryolar için, bir Diyalog ile Yazdırma yaklaşımını uygulamayı düşünün, ancak bu masaüstü uygulamalarına daha uygundur.

Üretime Uygulama Yayımı için Ek Hususlar

IronPrint ile ASP.NET uygulamanızın dağıtımını yaparken bu faktörleri göz önünde bulundurun:

  1. Lisans Yapılandırması: ASP.NET uygulamaları için Web.config'de lisans anahtarınızı yapılandırın. Uygun kurulum için Web.config'de Lisans Anahtarı Ayarlama kılavuzuna bakın.

  2. Yazıcı Erişimi: Uygulama havuz kimliği, yerel veya ağ yazıcılarına erişim izinlerine sahip olduğundan emin olun. Belgelerinizi Yazdırın belgesi yazıcı erişimi gerekliliklerini sağlar.

  3. Hata Yönetimi: Çevrimdışı yazıcılar veya erişilemeyen belgeler için sağlam hata yönetimi uygulayın. Teknik sorunlar için, Mühendislik Talebi sürecini kullanarak karmaşık sorunları çözün.

  4. Performans: Yoğun hacimli baskı işlemleri için, baskı isteklerini verimli bir şekilde yönetmek için bir sıra sistemi uygulayın. Eşzamansız PrintAsync böyle uygulamalar için idealdir.

Kapsamlı yazdırma yetenekleri için, IronPrint ad alanındaki tüm yöntemler ve özelliklerin ayrıntılı dokümantasyonu için API Referansına başvurun.

Sıkça Sorulan Sorular

ASP.NET Framework uygulamalarında eşzamansız PDF yazdırmayı nasıl uygularım?

IronPrint'in PrintAsync yöntemi kullanılarak asenkron PDF yazdırma işlemi gerçekleştirebilirsiniz. Kontrolör eyleminize `return await IronPrint.Printer.PrintAsync("yourfile.pdf");` satırını ekleyin. Bu engelleyici olmayan yaklaşım, yazdırma isteklerini işlerken web uygulamanızın yanıt vermeye devam etmesini sağlar ve belge yazdırma işlemleri sırasında kullanıcı arayüzünün donmasını önler.

Web uygulamalarında neden senkron baskı yerine asenkron baskı kullanmalıyım?

IronPrint'in PrintAsync yöntemiyle asenkron baskı, birçok kullanıcının aynı anda baskı işlemlerini tetikleyebileceği web uygulamaları için kritiktir. Eşzamanlı Print yöntemlerinin iş parçacıklarını engellemesinin aksine, PrintAsync uygulamanızın eş zamanlı istekleri performans düşüşü olmadan yönetmesini sağlar ve ağır yük altında bile yanıt verme yeteneğini korur.

ASP.NET Framework projemde PDF yazdırmayı eklemek için minimum adımlar nelerdir?

Minimal iş akışı 5 adım içerir: 1) IronPrint kütüphanesini C# için indirin, 2) IronPrint'i sınıf dosyanıza dahil edin, 3) Görüntülemenize bir yazdırma düğmesi ekleyin, 4) Denetleyici işleminizde PrintAsync uygulayın, ve 5) Düğmeye basıldığında belge yazdırmanın çalıştığını doğrulayın. Bu basitleştirilmiş süreç minimum kod değişikliği gerektirir.

ASP.NET görünümüme bir yazdırma düğmesini nasıl eklerim?

Index.cshtml veya ana sayfa görünümünüze, bir denetleyici eylemini tetikleyen bir düğme ekleyin. Bunun için `` gibi bir HTML kullanın. Bu düğme, tıklandığında Home denetleyicisindeki PrintPDF ActionResult metodunu çağıracaktır.

Asenkron baskı kullanırken baskı ayarlarını özelleştirebilir miyim?

Evet, IronPrint, özel yazdırma ayarları ve yazıcı bilgisi alma dahil kapsamlı özellikler sağlar. Bu yetenekler, yazıcı seçimi, sayfa yönlendirmesi, kenar boşlukları ve diğer yazdırma parametrelerini yapılandırma seçenekleri ile güçlü yazdırma işlevselliği gerektiren Enterprise ASP.NET uygulamaları için idealdir.

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
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

Başlamaya Hazır mısınız?

Nuget Downloads 46,090Sürüm:2026.9yeni yayınlandı

Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için C# NuGet Kütüphanesi
NuGet ile yükleyin

Sürüm: 2026.9

PM > Install-Package IronPrint
nuget.org/packages/IronPrint/
  1. Çözüm Gezgini'nde Referanslar'a sağ tıklayın, NuGet Paketlerini Yönet
  2. Gözat'ı seçin ve "IronPrint" arayın
  3. Paketi seçin ve yükleyin
C# PDF DLL
DLL İndir

Sürüm: 2026.9

  1. IronPrint'i indirin ve Çözüm dizininizdeki ~/Libs gibi bir konuma çıkarın
  2. Visual Studio Çözüm Gezgini'nde Referanslar'a sağ tıklayın. Gözat'ı seçin, "IronPrint.dll"

$999 'dan lisanslar

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez