IRONSOFTWAREHOME

C#'de Yazıcı Adları Nasıl Alınır

Curtis Chau
Curtis Chau
Updated: 29 Haziran 2026

Bir sistemde hangi yazıcıların mevcut olduğunu bilmek, belgeleri yazdırmak için gönderen herhangi bir .NET uygulaması için yaygın bir ön koşuldur. İster kullanıcıların açılır menüden bir yazıcı seçmesine izin vermek olsun, ister baskı işlerini belirli bir cihaza otomatik olarak yönlendirmek olsun, yazıcı adlarını programlı olarak almak ilk adımdır.

IronPrint, mevcut Windows makinesindeki her yüklü yazıcıyı bir List<string> olarak döndüren tek bir statik yöntem olan Printer.GetPrinterNames() gösterir. Kurulum, senkron ve asenkron alma ve seçilen bir yazıcı adını bir yazdırma işine nasıl besleyeceğimizi aşağıda ele alıyoruz.

Hızlı Başlangıç: Yazıcı Adlarını Al
  1. IronPrint'i NuGet aracılığıyla yükleyin: Install-Package IronPrint
  2. Dosyaya using IronPrint; ekleyin
  3. Yazıcı adlarının bir List<string> almak için Printer.GetPrinterNames() çağırın
  4. Liste üzerinden iterasyon yapın ve her adı görüntüleyin veya saklayın
  5. Yazdırma sırasında seçilen bir adı PrintSettings.PrinterName'e iletin
  1. 1Install IronPrint with NuGet Package Manager

    PM > Install-Package IronPrint

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

    using IronPrint;
    
    // Retrieve every printer installed on this machine
    List<string> printers = Printer.GetPrinterNames();
    
    foreach (var name in printers)
    {
        Console.WriteLine(name);
    }
    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

Kurulu Tüm Yazıcı Adlarını Nasıl Listeleyebilirim?

Printer.GetPrinterNames() işletim sistemini sorgular ve her kayıtlı yazıcıyı bir List<string> olarak döndürür. Bu yöntemi bir kez çağırıyoruz ve sonucun üzerinden iterasyon yapıyoruz:

using IronPrint;
using System;
using System.Collections.Generic;

// List every installed printer
List<string> printerNames = Printer.GetPrinterNames();

Console.WriteLine($"Found {printerNames.Count} printer(s):\n");

// Print each printer name
foreach (string name in printerNames)
{
    Console.WriteLine($"  • {name}");
}

Konsol Çıkış

3 yazıcı bulundu:

  • Microsoft Print to PDF
  • HP LaserJet Pro MFP M428
  • OneNote (Masaüstü)
Text

Dönen liste yerel yazıcılar, ağ yazıcıları ve sanal yazdırma sürücülerini içerir. Her dize, Windows Ayarlar > Yazıcılar ve tarayıcılar panelinde gösterilen kesin adı eşleşir, böylece yazdırma ayarları yapılandırmasında doğrudan kullanılabilir.

Hiç yazıcı kurulmadıysa, yöntem bir istisna atmadan boş bir liste döndürür. Kullanıcıya seçenekler sunmadan önce hızlı bir printerNames.Count kontrolü yeterlidir.

Yazıcı Adlarını Asenkron Olarak Nasıl Alırım?

UI iş parçacığını engellemenin kabul edilebilir olmadığı uygulamalar için — WPF, MAUI veya ASP.NET web uygulamaları — IronPrint, Printer.GetPrinterNamesAsync() sağlar. Yöntem bir Task<List<string>> döndürür ve senkron karşıtıyla aynı şekilde çalışır:

using IronPrint;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

// Retrieve printer names asynchronously
List<string> printerNames = await Printer.GetPrinterNamesAsync();

// Print each printer name
foreach (string name in printerNames)
{
    Console.WriteLine(name);
}

Herhangi bir diğer asenkron API gibi, aramayı await. Sonuç, GetPrinterNames() tarafından döndürülen aynı List<string>'dir, dolayısıyla ek bir ayrıştırma veya dönüştürme gerekli değildir. Bu asenkron desen, async Task denetleyici eylemleri ve async void olay işleyicileriyle doğal olarak entegre olur.

Belirli Bir Yazıcıya Adına Göre Nasıl Yazdırırım?

Yazıcı adını aldıktan sonra, onu PrintSettings.PrinterName'e atayarak ve ayar nesnesini Printer.Print()'e geçiririz. Bu, belgeyi diyalog kutusu görüntülemeden doğrudan seçilen yazıcıya gönderir:

using IronPrint;
using System.Collections.Generic;

// Retrieve available printers
List<string> printers = Printer.GetPrinterNames();

// Select a printer matching "LaserJet", or fall back to the first available
string targetPrinter = printers.Find(p => p.Contains("LaserJet"))
                       ?? printers[0];

// Configure print settings
PrintSettings settings = new PrintSettings
{
    PrinterName = targetPrinter,
    PaperSize = PaperSize.A4,
    NumberOfCopies = 1
};

// Print the document
Printer.Print("invoice.pdf", settings);

PrintSettings, Dpi, PaperOrientation, Grayscale ve PaperMargins gibi ek özellikleri destekler. Tam listeyi PrintSettings API referansı ve yazdırma ayarları nasıl yapılır kılavuzu adresinde inceleyin.

Ayrıca, belirli bir tepsiden kağıt çekilmesi gerektiğinde, bir yazıcı için mevcut kağıt tepsilerini Printer.GetPrinterTrays(printerName) kullanarak alırız.

Sonraki Adımlarım Neler?

Dört işlemi ele aldık: IronPrint'i yükleme, GetPrinterNames() ile tüm yazıcı adlarını listeleme, aynı sorguyu GetPrinterNamesAsync() ile eşzamanlı olarak çalıştırma ve bir belgeyi PrintSettings.PrinterName aracılığıyla belirli bir yazıcıya yönlendirme.

Daha fazla okuma ve daha derin örnekler için bu kaynakları keşfedin:

Canlı bir ortamda her özelliği test etmek için ücretsiz deneme lisansı alın veya kullanıma hazır olduğunuzda lisans seçeneklerini görüntüleyin.

Sıkça Sorulan Sorular

C#'ta yazıcı adlarını almanın en kolay yolu nedir?

C#'ta yazıcı adlarını almanın en kolay yolu, tek bir yöntem çağrısıyla kurulu yazıcıları almanıza olanak tanıyan IronPrint .NET kullanmaktır.

IronPrint kullanarak yazıcı adlarını asenkron olarak alabilir miyim?

Evet, IronPrint .NET asenkron işlemleri destekler, böylece ana thread'i engellemeden yazıcı adlarını alabilirsiniz.

IronPrint kullanarak isimle belirlenen bir yazıcıya yazdırmak mümkün mü?

Kesinlikle, IronPrint .NET, belgeleri tercihinize göre, kurulu herhangi bir yazıcıya doğrudan yazdırabilmeniz için yazıcı adını belirtmenize olanak tanır.

IronPrint tüm .NET platformlarında yazıcı adlarını almayı destekler mi?

IronPrint .NET, çeşitli .NET platformlarıyla çalışmak üzere tasarlanmıştır, farklı ortamlarda yazıcı adlarını sorunsuzca almanıza imkan tanır.

IronPrint, ağ ortamında yazıcı adlarını nasıl yönetir?

IronPrint .NET, hem yerel hem de ağ üzerindeki yazıcılardan yazıcı adlarını alabilir, farklı ağ yapılandırmaları için esnek kullanım imkanı sağlar.

What additional properties can I configure with PrintSettings?

With `PrintSettings`, you can configure properties like `Dpi`, `PaperSize`, `PaperOrientation`, `Grayscale`, and `PaperMargins`.

How do I iterate over printer names in C# using IronPrint?

You can use a foreach loop to iterate over the list returned by `Printer.GetPrinterNames()`, allowing you to display or store each printer name.

Can IronPrint work with network and virtual printers?

Yes, the list returned by `Printer.GetPrinterNames()` includes local printers, network printers, and virtual print drivers.

Where can I find more information on printing settings in IronPrint?

You can refer to the [PrintSettings How-To Guide](https://ironsoftware.com/csharp/print/how-to/print-settings/) and the [API Reference](https://ironsoftware.com/csharp/print/object-reference/api/IronPrint.PrintSettings.html) for detailed information.

Does IronPrint provide support for different paper trays?

Yes, you can use `Printer.GetPrinterTrays(printerName)` to retrieve available paper trays for a given printer.

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