IRONSOFTWAREHOME

Wie rufe ich Druckernamen in C# ab?

Curtis Chau
Curtis Chau
Updated: 29. Juni 2026

Die Kenntnis darüber, welche Drucker auf einem System verfügbar sind, ist eine häufige Voraussetzung für jede .NET-Anwendung, die Dokumente zum Drucken sendet. Ob das Ziel darin besteht, Benutzern die Auswahl eines Druckers aus einem Dropdown zu ermöglichen oder Druckaufträge automatisch an ein bestimmtes Gerät zu leiten, das Programmatische Abrufen von Druckernamen ist der erste Schritt.

IronPrint stellt eine einzelne statische Methode — Printer.GetPrinterNames() — bereit, die jeden auf dem aktuellen Windows-Rechner installierten Drucker als List<string> zurückgibt. Wir behandeln Installation, synchrone und asynchrone Abfragen sowie wie man einen ausgewählten Druckernamen in einen Druckauftrag einfügt unten.

Schnellstart: Druckernamen abrufen
  1. Installieren Sie IronPrint über NuGet: Install-Package IronPrint
  2. Fügen Sie using IronPrint; in die Datei ein
  3. Rufen Sie Printer.GetPrinterNames() auf, um eine List<string> mit Druckernamen zu erhalten
  4. Durchlaufen Sie die Liste und zeigen Sie jeden Namen an oder speichern Sie ihn
  5. Übergeben Sie einen ausgewählten Namen an PrintSettings.PrinterName beim Drucken
  1. 1Install IronPrint with NuGet Package Manager

    PM > Install-Package IronPrint

  2. 2Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    using IronPrint;
    
    // Retrieve every printer installed on this machine
    List<string> printers = Printer.GetPrinterNames();
    
    foreach (var name in printers)
    {
        Console.WriteLine(name);
    }
    C#
  3. 3Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute, IronPrint in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
    arrow pointer

Wie kann ich alle installierten Druckernamen auflisten?

Printer.GetPrinterNames() fragt das Betriebssystem ab und gibt jeden registrierten Drucker als List<string> zurück. Wir rufen diese Methode einmal auf und durchlaufen das Ergebnis:

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

Konsolenausgabe

3 Drucker gefunden:

  • Microsoft Print to PDF
  • HP LaserJet Pro MFP M428
  • OneNote (Desktop)
Text

Die zurückgegebene Liste umfasst lokale Drucker, Netzwerkdrucker und virtuelle Druckertreiber. Jede Zeichenkette entspricht dem genauen Namen, der im Windows-Bedienfeld Einstellungen > Drucker & Scanner angezeigt wird, sodass sie direkt in der Druckeinstellungen-Konfiguration verwendet werden kann.

Wenn keine Drucker installiert sind, gibt die Methode anstelle eines Fehlers eine leere Liste zurück. Ein kurzer printerNames.Count-Check ist alles, was vor der Präsentation der Optionen für einen Benutzer benötigt wird.

Wie rufe ich Druckernamen asynchron ab?

Für Anwendungen, bei denen das Blockieren des UI-Threads nicht akzeptabel ist — WPF, MAUI oder ASP.NET Web-Apps — bietet IronPrint Printer.GetPrinterNamesAsync(). Die Methode gibt ein Task<List<string>> zurück und arbeitet identisch zu ihrem synchronen Gegenstück:

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

Wir await den Aufruf wie jede andere asynchrone API. Das Ergebnis ist das gleiche List<string>, das von GetPrinterNames() zurückgegeben wird, sodass keine zusätzliche Analyse oder Umwandlung erforderlich ist. Dieses Async-Muster integriert sich nahtlos in async Task-Controller-Aktionen und async void-Ereignishandler.

Wie drucke ich zu einem bestimmten Drucker nach Namen?

Sobald wir den Druckernamen haben, weisen wir ihn PrintSettings.PrinterName zu und übergeben das Einstellungen-Objekt an Printer.Print(). Dadurch wird das Dokument direkt an den ausgewählten Drucker gesendet, ohne einen Dialog anzuzeigen:

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 unterstützt zusätzliche Eigenschaften wie Dpi, PaperOrientation, Grayscale und PaperMargins. Siehe die vollständige Liste in der API-Referenz zu den PrintSettings und der Leitfaden für Druckeinstellungen.

Wir rufen auch verfügbare Papierfächer für einen bestimmten Drucker mit Printer.GetPrinterTrays(printerName) ab, was nützlich ist, wenn ein Druckauftrag Papier aus einem bestimmten Fach entnehmen muss.

Was sind meine nächsten Schritte?

Wir haben vier Operationen behandelt: die Installation von IronPrint, das Auflisten aller Druckernamen mit GetPrinterNames(), das Ausführen derselben Abfrage asynchron mit GetPrinterNamesAsync() und das Weiterleiten eines Dokuments an einen bestimmten Drucker über PrintSettings.PrinterName.

Für weiterführende Literatur und detailliertere Beispiele erkunden Sie diese Ressourcen:

Holen Sie sich eine kostenlose Testlizenz, um jede Funktion in einer Live-Umgebung zu testen, oder sehen Sie sich die Lizenzierungsoptionen an, wenn Sie bereit sind, zu starten.

Häufig gestellte Fragen

Was ist der einfachste Weg, Druckernamen in C# abzurufen?

Der einfachste Weg, Druckernamen in C# abzurufen, ist die Verwendung von IronPrint .NET, mit dem Sie eine Liste installierter Drucker mit einem einzigen Methodenaufruf erhalten können.

Kann ich Druckernamen asynchron mit IronPrint abrufen?

Ja, IronPrint .NET unterstützt asynchrone Vorgänge, sodass Sie Druckernamen abrufen können, ohne den Haupt-Thread zu blockieren.

Ist es möglich, mit IronPrint an einen bestimmten Drucker nach Name zu drucken?

Ja, IronPrint .NET erlaubt es Ihnen, den Druckernamen anzugeben, sodass Sie Dokumente direkt an jeden installierten Drucker Ihrer Wahl drucken können.

Unterstützt IronPrint das Abrufen von Druckernamen auf allen .NET-Plattformen?

IronPrint .NET ist darauf ausgelegt, mit verschiedenen .NET-Plattformen zu arbeiten, sodass Sie nahtlos Druckernamen in unterschiedlichen Umgebungen abrufen können.

Wie handhabt IronPrint Druckernamen in einem vernetzten Umfeld?

IronPrint .NET kann Druckernamen von sowohl lokalen als auch vernetzten Druckern abrufen, was es vielseitig für die Verwendung in verschiedenen Netzwerk-Konfigurationen macht.

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
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Bereit anzufangen?

Nuget Downloads 46,090Version:2026.9gerade veröffentlicht

Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPrint
nuget.org/packages/IronPrint/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach "IronPrint"
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

  1. Laden Sie IronPrint herunter und entpacken Sie es an einem Ort wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Klicken Sie im Visual Studio Solution Explorer mit der rechten Maustaste auf Verweise. Wählen Sie Durchsuchen, "IronPrint.dll"

Lizenzen ab $999

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
AWS-Logo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Azure (WebApps, Funktionen v3)
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Azure (WebApps, Funktionen v3)
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.