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() sağlar: yerel işletim sistemi yazdırma diyalogunu açan, kullanıcının yazıcı ve kağıt seçimlerini yakalayan ve belgeyi yazdırma kuyruğuna gönderen bir yöntem. 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 yazdırma diyalogunu 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.

Kapsam altında, yerel .NET yaklaşımı, bir System.Windows.Forms.PrintDialog örneği oluşturmayı, bunu bir PrintDocument ile bağlamayı, yazdırma grafik yüzeyine içerik çizmek için PrintPage olayını işlemeyi, DialogResult kontrol etmeyi ve ardından PrintDocument.Print() çağırmayı 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ş

Çeyrek rapor.pdf, ShowPrintDialog'e, KPI metrik kartları ve bölüm gelir tabloları içeren stilize edilmiş bir kurumsal Q3 finansal özet olarak, yazdırma diyaloguna 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 yolu olarak string veya ham dosya verileri olarak byte[] 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?

Bir PrintSettings nesnesi oluşturup ikinci parametre olarak geçirerek diyalog 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, belirli bir termal yazıcıda her zaman fişleri yazdıran bir satış noktası sistemi, varsayılan PrinterName'yi o cihaza ayarlayabilir. Kullanıcı hala diyalogda bunu değiştirme seçeneğine sahiptir.

Sistemde hangi yazıcıların mevcut olduğunu keşfetmek için Printer.GetPrinterNames() çağrılır, bu da yüklü yazıcıların List<string>'ünü döndürür. Benzer şekilde, Printer.GetPrinterTrays() belirlenen bir yazıcının mevcut kağıt tepsilerini döndürür.

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

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(), dosya yolu veya bayt dizisi artı isteğe bağlı bir PrintSettings nesnesi gibi senkron sürüm ile aynı parametreleri kabul eder. 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 programatik olarak ayarlanır.
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. Format ne olursa olsun dosya yolunu geçiririz ve IronPrint, render işleme ve yazıcı havuzu iletişimini yönetir. Bellekte oluşturulan veya bir veritabanından alınan belge için yararlı olan byte[] olarak dosya verisi de kabul edilir.

Giriş

Veritabanından alındığı veya bellekte oluşturulduktan sonra diyaloga gönderilmeden önce bir byte[] içine okunan aylık-rapor.pdf belgesini 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. Format algılama otomatiktir: bir dosya yolu ya da byte[] geçirsek de IronPrint belgeleri işler ve aynı yerel diyaloğu sunar.

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

Yazdırma ile bir diyalog kullanmak, senkron çağrılar için Printer.ShowPrintDialog() ve engellemeyen yürütme için Printer.ShowPrintDialogAsync() olmak üzere iki metoda varır. 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. Sevkiyata hazır olduğunuzda, $999'den başlayan lisanslama seçeneklerini görüntüleyin.

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 44,435 | Sürüm: 2026.7 yeni yayınlandı
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.