Bir Diyalogla Nasıl Yazdırılır C

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPrint, Printer.ShowPrintDialog(): yerel işletim sistemi yazdırma iletişim kutusunu açan, kullanıcının yazıcı ve kağıt seçimlerini alan ve belgeyi yazdırma kuyruğuna gönderen bir yöntem sunar. Bir NuGet paketi yükleyin ve bir satır kod yazın.

Yazdırma iletişim kutusu, kullanıcıların bir yazıcı seçmasına, kopya sayısını ayarlamasına, bir sayfa aralığı seçmesine ve yazdırmaya başlamadan önce kağıt seçeneklerini ayarlamasına olanak tanıyan standart işletim sistemi penceresidir. Kullanıcılara her işten önce bu kontrolü vermesi gereken masaüstü uygulamaları ana kullanım alanıdır.

Hızlı Başlangıç: Bir Diyalogla Yazdır

  1. IronPrint aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronPrint
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    using IronPrint;
    
    // Display the print dialog and print the document
    Printer.ShowPrintDialog("document.pdf");
  3. Canlı ortamınızda test için dağıtım yapın

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

    arrow pointer

Yazdırma Diyaloğu C# Nasıl Çalışır?

Printer.ShowPrintDialog() yöntemi, işletim sisteminin yerel PRINT iletişim kutusunu açar. Kullanıcı, yazıcı seçimi, kopya sayısı, sayfa aralığı, yönlendirme ve kağıt boyutunu içeren tam yazdırma seçenekleri setini görür. Yazdırmak için tıklayın veya yazdırmadan iletişim kutusunu kapatmak için İptal edin.

Arka planda, yerel .NET yaklaşımı bir System.Windows.Forms.PrintDialog örneği oluşturulmasını, bunun bir PrintDocument'ye bağlanmasını, içeriği PRINT grafik yüzeyine çizmek için PrintPage olayının işlenmesini, DialogResult'nin kontrol edilmesini ve ardından PrintDocument.Print()'nin çağrılmasını gerektirir. Bu kurulum tipik olarak 15–25 satır kod çalıştırır. Ayrıca, yerel diyalog yoluyla bir PDF'yi yazdırmak, öncelikle PDF'yi çizilebilir sayfalara ayrıştırmak (bu da başka bir kütüphane gerektirir) anlamına gelirken tümleşik PDF veya resim işleme içermez.

IronPrint, tüm boru hattını tek bir çağrıda ele alır:

Giriş

ShowPrintDialog'ye aktarılan quarterly-report.PDF, KPI metrik kartları ve bölüm gelir tabloları içeren, stilize edilmiş kurumsal bir 3. çeyrek finansal özetidir ve PRINT iletişim kutusuna gönderilen tipik bir iş belgesini temsil eder.

:path=/static-assets/print/content-code-examples/how-to/print-with-dialog/print-with-dialog-show-print-dialog-open-and-print.cs
using IronPrint;

// Open the print dialog and print
Printer.ShowPrintDialog("quarterly-report.pdf");
Imports IronPrint

' Open the print dialog and print
Printer.ShowPrintDialog("quarterly-report.pdf")
$vbLabelText   $csharpLabel

Çıktı

ShowPrintDialog tarafından açılan yerel yazdırma diyalogu

ShowPrintDialog ile çeyreklik rapor için açılan yerel yazdırma diyalogu.

Yöntem, bir dosya yolunu string olarak veya ham dosya verilerini byte[] olarak kabul eder. IronPrint belge formatını algılar, uygun motorla işler ve diyaloğu sunar. Kullanıcı onayladığında, belge seçtikleri ayarlarla yazdırılır. yazdırma belgesi eğitimi tam yazdırma yaşam döngüsü hakkında daha fazla ayrıntıyla geçer.

Diyalog Ayarlarını Nasıl Önceden Yapılandırabilirim?

PrintSettings nesnesi oluşturup bunu ikinci parametre olarak geçirerek, iletişim kutusu açılmadan önce varsayılan değerleri ayarlayabiliriz. Diyalog, bu değerlerle önceden seçilmiş olarak açılır ve kullanıcı, ayarları olduğu gibi kabul edebilir veya herhangi bir ayarı geçersiz kılabilir.

Giriş

Fatura.pdf, 300 DPI A4 dikey ayarlarıyla önceden yüklenmiş: satır öğeleri, indirim, vergi ve havale talimatları ile profesyonel bir fatura olan, uygulamanın gerekli kağıt boyutunu ve yönlendirmeyi önceden bildiği gerçekçi bir belgeyi gösterir.

:path=/static-assets/print/content-code-examples/how-to/print-with-dialog/print-with-dialog-preconfigure-dialog-settings.cs
using IronPrint;

// Pre-configure default dialog settings
var settings = new PrintSettings
{
    PrinterName = "HP LaserJet Pro",
    PaperSize = PaperSize.A4,
    PaperOrientation = PaperOrientation.Portrait,
    Dpi = 300,
    NumberOfCopies = 2,
    Grayscale = false
};

// Open the dialog with pre-filled settings
Printer.ShowPrintDialog("invoice.pdf", settings);
Imports IronPrint

' Pre-configure default dialog settings
Dim settings As New PrintSettings With {
    .PrinterName = "HP LaserJet Pro",
    .PaperSize = PaperSize.A4,
    .PaperOrientation = PaperOrientation.Portrait,
    .Dpi = 300,
    .NumberOfCopies = 2,
    .Grayscale = False
}

' Open the dialog with pre-filled settings
Printer.ShowPrintDialog("invoice.pdf", settings)
$vbLabelText   $csharpLabel

Çıktı

Windows yazdırma diyalogu önceden yapılandırılmış ayarlarla

Önceden yapılandırılmış A4 dikey ayarlarla açılan yerel yazdırma diyalogu.

Bu, uygulamanın muhtemel yazıcı veya kağıt formatını önceden bildiği durumlarda kullanışlıdır. Örneğin, makbuzları her zaman belirli bir termal yazıcıda yazdıran bir satış noktası sistemi, PrinterName'yi varsayılan olarak bu cihaza ayarlayabilir. Kullanıcı yine de iletişim kutusunda bunu değiştirme seçeneğine sahiptir.

Sistemde hangi yazıcıların mevcut olduğunu öğrenmek için Printer.GetPrinterNames() komutunu çağırırız; bu komut, yüklü tüm yazıcıların List<string> değerini döndürür. Benzer şekilde, Printer.GetPrinterTrays() belirli bir yazıcı için kullanılabilir kağıt tepsilerini döndürür.

Yapılandırılabilir özelliklerin tam listesi şunları içerir: PrinterName, PaperSize, PaperOrientation, Dpi, NumberOfCopies, Grayscale, PaperMargins, Flatten (PDF form alanları için) ve Tray'yi içerir. yazdırma ayarları nasıl yapılır, her özelliği kod örnekleriyle birlikte kapsar. PrintSettings içinde ayarlanmamış herhangi bir özellik, varsayılan olarak seçilen yazıcının standart yapılandırmasına göre ayarlanır.

Diyaloğu Asenkron Olarak Nasıl Gösterebilirim?

Printer.ShowPrintDialogAsync() yöntemi bir Task döndürür, bu da onu await ile uyumlu hale getirir. Bu, diyalog kutusunun UI iş parçacığını engellemesini önler; bu, WPF, MAUI ve dondurulmuş bir arayüz yoksul bir kullanıcı deneyimi yaratan herhangi bir uygulama için gereklidir.

Giriş

Raport.pdf eş zamanlı olarak bekleniyor: BT altyapısı ve güvenlik raporunu çok bölümlü, eşzamanlı geçerli bir dokümanın temsil ediyor ve dosya yüklendikçe UI'ın tepkisel kalmasını sağlıyor.

:path=/static-assets/print/content-code-examples/how-to/print-with-dialog/print-with-dialog-show-print-dialog-async.cs
using IronPrint;

// Open the print dialog asynchronously
await Printer.ShowPrintDialogAsync("report.pdf");
Imports IronPrint

' Open the print dialog asynchronously
Await Printer.ShowPrintDialogAsync("report.pdf")
$vbLabelText   $csharpLabel

Çıktı

ShowPrintDialogAsync üzerinden açılan eşzamansız yazdırma diyalogu

ShowPrintDialogAsync kullanılarak eşzamansız olarak açılan yerel yazdırma diyalogu, konsol, engelleyici olmayan yürütmeyi tasdik ediyor.

ShowPrintDialogAsync(), senkron sürümle aynı parametreleri kabul eder: bir dosya yolu veya bayt dizisi, Plus isteğe bağlı bir PrintSettings nesnesi. Async deseni modern .NET gelişimi boyunca kullanılan Görev tabanlı Asenkron Desen ile aynı yolu izler.

IronPrint, WinForms, WPF, MAUI ve konsol uygulamaları arasında çalışır. Diyalog görünümü, ana bilgisayar platformu ve OS sürümüne uyum sağlar, böylece kullanıcı her zaman bekledikleri doğal yazdırma penceresini görür.

Bir Diyalog mu Yoksa Sessiz Yazdırma mı Kullanmalıyım?

Kullanıcıların her iş öncesi yazıcı ayarlarını seçmesi gerektiğinde dialog kutusu kullanın. Belge arası insan kararı gerekmediği otomatik iş akışları için sessiz yazdırmayı kullanın.

Kriterler Diyalog ile Yazdır Sessiz Yazdırma
Kullanıcı etkileşimi Kullanıcı yazıcıyı, kopyaları, sayfa aralığını seçer Etki yok; prints immediately
En iyi Masaüstü uygulamaları, tek seferlik baskılar, kullanıcıya dönük özellikler Toplu işler, arka plan hizmetleri, kiosk uygulamaları
Yazıcı seçimi Kullanıcı diyalogdan seçer PrintSettings aracılığıyla programlı olarak ayarlayın
IronPrint metodu Printer.ShowPrintDialog() Printer.Print()
Asenkron varyant ShowPrintDialogAsync() PrintAsync()

Rapor dışa aktarımları, fatura yazdırmaları ve yanlış yazıcının malzemeleri israf ettiği herhangi bir iş için dialog iyi bir kandidattır. Sessiz yazdırma, belgeler arasında insan kararı gerekmediğinde otomatik iş akışları için uygundur.

Yazdırma Diyaloğu Hangi Dosya Biçimlerini Destekler?

Printer.ShowPrintDialog(), sessiz yazdırma ile aynı formatları destekler: PDF, PNG, TIFF, JPEG, GIF, HTML ve BMP. Formattan bağımsız olarak dosya yolunu iletiriz ve IronPrint, görüntüleme ve yazdırma kuyruğu iletişimini yönetir. byte[] biçiminde dosya verileri de kabul edilir; bu, belgenin bellekte oluşturulduğu veya bir veritabanından alındığı durumlarda kullanışlıdır.

Giriş

monthly-report.PDF dosyası, bir byte[] içine okunur; bu, veritabanından alınan veya diyalog penceresine gönderilmeden önce bellekte oluşturulan bir belgeyi temsil eder.

:path=/static-assets/print/content-code-examples/how-to/print-with-dialog/print-with-dialog-print-dialog-image-and-byte-array.cs
using IronPrint;

// Print an image with the dialog
Printer.ShowPrintDialog("product-photo.png");

// Print from a byte array
byte[] reportData = File.ReadAllBytes("monthly-report.pdf");
Printer.ShowPrintDialog(reportData);
Imports IronPrint

' Print an image with the dialog
Printer.ShowPrintDialog("product-photo.png")

' Print from a byte array
Dim reportData As Byte() = File.ReadAllBytes("monthly-report.pdf")
Printer.ShowPrintDialog(reportData)
$vbLabelText   $csharpLabel

Çıktı

Diyalog, yukarıdaki örneklerde görüldüğü gibi açılır. Biçim algılama otomatiktir: ister bir dosya yolu ister byte[] geçelim, IronPrint belgeyi işler ve aynı yerel iletişim kutusunu gösterir.

kod örnekleri sayfası, ek biçime özel senaryoları gösterir. PDF'ye özgü iş akışları için (bir PDF yaratmak ve hemen yazdırmak), IronPDF, IronPrint ile doğal bir şekilde eşleşir.

Sonraki Adımlar

PRINT ile yazdırma iki yönteme indirgenebilir: senkron çağrılar için Printer.ShowPrintDialog() ve engellemesiz yürütme için Printer.ShowPrintDialogAsync(). Varsayılanları PrintSettings ile önceden yapılandırın ve kullanıcının buradan ayarlamasına izin verin. Her iki yöntem de IronPrint'in belge biçimlerini destekler ve WinForms, WPF, MAUI ve konsol projeleri arasında çalışır.

Tam yürüyüşler için IronPrint eğitimini, her mevcut yöntem için Yazıcı sınıfı API referansını veya gelişmiş yapılandırma için yazdırma ayarları nasıl yapılır inceleyin. Değişiklikler ve yeni özellikler içeren değişiklik günlüğü, son iyileştirmeleri izler.

Canlı bir projede dialog yazdırmayı test edin; ücretsiz 30 günlük deneme başlatın, kredi kartı gerektirir. Yayınlamaya hazır olduğunuzda, $999 adresinden başlayan lisans seçeneklerini inceleyin.

Sıkça Sorulan Sorular

IronPrint'in ana işlevi nedir?

IronPrint, geliştiricilerin C# uygulamalarında bir baskı iletişim kutusu göstermelerini ve yapılandırmalarını sağlar, önceden yapılandırılmış ayarlarla PDF ve resimlerin kolayca yazdırılmasını mümkün kılar.

IronPrint kullanarak bir baskı iletişim kutusunu nasıl gösterebilirim?

C# uygulamanızda IronPrint'in ShowPrintDialog() yöntemi kullanarak baskı ayarlarını yapılandırarak bir baskı iletişim kutusu görüntüleyebilirsiniz.

IronPrint, asenkron yazdırmayı destekliyor mu?

Evet, IronPrint asenkron baskı destekler, böylece uygulamanız baskı işleriyle ilgilenirken yanıt vermeye devam edebilir.

IronPrint ile yazdırma ayarlarını önceden yapılandırabilir miyim?

Evet, IronPrint size baskı iletişim kutusunu göstermeden önce kağıt boyutu, yönlendirme ve yazıcı seçimi gibi baskı ayarlarını önceden yapılandırma imkanı tanır.

IronPrint kullanarak resimleri yazdırmak mümkün mü?

IronPrint hem PDF hem de resim yazdırmayı destekler, böylece C# uygulamanızda çeşitli belge türleri için esneklik sağlar.

IronPrint C#'daki baskı iletişim kutusu deneyimini nasıl geliştirir?

IronPrint, geliştiricilerin baskı ayarlarını kolayca özelleştirmelerine ve yapılandırmalarına imkan tanıyarak, hem senkron hem de asenkron işlemleri destekleyerek baskı iletişim kutusu deneyimini geliştirir.

IronPrint ile ne tür belgeler yazdırabilirim?

IronPrint ile, C# uygulamanızdan doğrudan PDF ve resimler dahil olmak üzere çeşitli belgeleri yazdırabilirsiniz.

IronPrint mevcut C# uygulamalarına entegre edilebilir mi?

Evet, IronPrint mevcut C# uygulamalarına kolayca entegre edilecek şekilde tasarlanmıştır, böylece baskı iletişim kutusu işlevselliği eklemek basittir.

IronPrint C# geliştiricileri için hangi avantajları sunuyor?

IronPrint, kolay entegrasyon, özelleştirilebilir baskı ayarları, asenkron baskı desteği ve PDF ile resim yazdırma yeteneği gibi avantajlar sunar.

IronPrint farklı yazıcı yapılandırmaları nasıl yönetir?

IronPrint, çeşitli yazıcılarla uyumluluğu ve belirli baskı ihtiyaçlarını karşılamak için özelleştirmeyi sağlamak amacıyla farklı yazıcı ayarlarını yapılandırmanıza olanak tanır.

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ı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 41,154 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronPrint
bir örnek çalıştır belgenizin yazıcıya ulaşmasını izleyin.