IRONSOFTWAREHOME

Wie lege ich den Druckernamen in C# fest?

Curtis Chau
Curtis Chau
Updated: 9. Mai 2026

Die PrintSettings Klasse von IronPrint stellt eine PrinterName Eigenschaft bereit, die Druckaufträge an einen bestimmten Drucker lenkt. Wir weisen den genauen Namen des Ziel-Druckers als Zeichenkette zu, übergeben das konfigurierte PrintSettings Objekt an eine der IronPrint-Druckmethoden, und das Dokument wird an diesen Drucker gesendet, anstatt an den Standard des Systems.

Diese Anleitung führt durch das Festlegen eines Druckernamens, das Entdecken verfügbarer Drucker zur Laufzeit und die Kombination von Druckerauswahl mit anderen Druckeinstellungen.

Quickstart: Den Druckernamen angeben
  1. 1Install IronPrint with NuGet Package Manager

    PM > Install-Package IronPrint

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

    using IronPrint;
    
    // Print a document to a specific printer
    Printer.Print("report.pdf", new PrintSettings
    {
        PrinterName = "HP LaserJet Pro M404"
    });
    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 gebe ich einen Druckernamen in C# an?

Wir spezifizieren den Ziel-Drucker, indem wir seinen Namen in die PrinterName Eigenschaft eines PrintSettings Objekts zuweisen. Wir übergeben dann dieses Objekt an Printer.Print.

Eingabe

invoice.pdf ist eine gestylte A4 B2B-Rechnung mit Posten und Gesamtsummen, gedruckt auf einen bestimmten benannten Drucker über PrintSettings.PrinterName.

using IronPrint;

// Configure print settings with a target printer
PrintSettings settings = new PrintSettings();
settings.PrinterName = "Microsoft Print to PDF";

// Print to the specified printer
Printer.Print("invoice.pdf", settings);

Zuerst instanziieren wir PrintSettings, das mit PrinterName = null initialisiert wird, was den Betriebssystem-Standarddrucker bedeutet. Dann überschreiben wir PrinterName mit dem genauen Zeichenkettennamen des Ziel-Druckers. Wenn wir Printer.Print aufrufen, schickt IronPrint den Auftrag direkt an die Warteschlange dieses Druckers.

Ausgabe

Die Rechnung wird direkt an den benannten Drucker gesendet. Der Auftrag erscheint in der Druckerwarteschlange, wie im Beispiel für leises Drucken zu sehen ist.

Rechnungsausgabe gedruckt auf "Microsoft Print to PDF" unter Verwendung von PrinterName.

Zwei Details, an die Sie denken sollten. Erstens, der Druckername muss exakt dem entsprechen, was das Betriebssystem meldet; Dieser Vergleich ist groß-/klein-schreibungssensitiv. Ein Fehler wie "hp laserjet" anstelle von "HP LaserJet" wird stumm scheitern oder einen Fehler erzeugen. Zweitens, wenn der Benutzer über ShowPrintDialog ein Druckdialog eröffnet, überschreibt die Dialogauswahl jegliche PrinterName, die im Code gesetzt wurden, was dem Benutzer die endgültige Kontrolle gibt.

Wenn der Druckername nicht im Voraus bekannt ist, können wir zur Laufzeit anstatt der harten Kodierung den Wert alle installierten Drucker abfragen.

Wie entdecke ich verfügbare Drucker?

Anstatt Druckernamen fest zu codieren, können wir das System zur Laufzeit mit Printer.GetPrinterNames abfragen. Diese Methode gibt ein List<string> zurück, das jeden auf der Maschine installierten Drucker enthält.

Eingabe

report.pdf ist ein A4-Geschäftsbericht mit einem Abschnitt zur Zusammenfassung und einer Datentabelle, gedruckt auf den zuerst dynamisch entdeckten Drucker.

using IronPrint;

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

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

// Print to the first available printer
if (printers.Count > 0)
{
    Printer.Print("report.pdf", new PrintSettings
    {
        PrinterName = printers[0]
    });
}

Wir rufen GetPrinterNames auf, um jeden Drucker zu erhalten, den das Betriebssystem kennt, einschließlich lokaler, Netzwerk- und virtueller Drucker wie 'Microsoft Print to PDF'. Dann iterieren wir durch die Liste und wählen einen Drucker nach Index, Namensübereinstimmung oder einer beliebigen benutzerdefinierten Logik, die die Anwendung erfordert.

Ausgabe

Der Bericht wird an den ersten verfügbaren Drucker gesendet. Der Auftrag erscheint in der Druckerwarteschlange wie oben zu sehen.

Berichtsausgabe gedruckt an den ersten verfügbaren Drucker über GetPrinterNames.

Dieses Erkennen-dann-Drucken-Muster ist essenziell für Anwendungen, die auf verschiedenen Maschinen bereitgestellt werden. Das Hardcodieren eines Druckernamens funktioniert für Szenarien mit einer einzelnen Maschine, aber Produktionsanwendungen sollten verfügbare Drucker abfragen und entweder dem Benutzer die Wahl überlassen oder einen programmatisch basierend auf Namenskonventionen auswählen.

Die Druckerauswahl kann auch mit Papiergröße, DPI, Kopienanzahl und Rändern in einem einzigen Konfigurationsobjekt kombiniert werden.

Wie kombiniere ich den Druckernamen mit anderen Einstellungen?

Die PrintSettings Klasse stellt PrinterName neben Eigenschaften für Papiergröße, Ausrichtung, DPI, Ränder, Kopienanzahl und mehr bereit. Wir konfigurieren alles in einem einzigen Objekt.

Eingabe

quarterly-report.pdf ist ein A4 vierteljährlicher Finanzbericht mit KPI-Karten und Diagrammen, gedruckt mit PrinterName kombiniert mit Papiergröße, DPI und Kopienanzahl in einem PrintSettings Objekt.

using IronPrint;

// Configure full print settings with a named printer
PrintSettings settings = new PrintSettings
{
    PrinterName = "Office Color Printer",
    PaperSize = PaperSize.A4,
    PaperOrientation = PaperOrientation.Portrait,
    Dpi = 300,
    NumberOfCopies = 2,
    PaperMargins = new Margins(15, 15, 15, 15),
    Grayscale = false
};

// Print the quarterly report
Printer.Print("quarterly-report.pdf", settings);

Wir verwenden die Objektinitialisierer-Syntax für bessere Lesbarkeit. PrinterName leitet den Auftrag an 'Office Color Printer', während die verbleibenden Eigenschaften das Ausgabeformat steuern. Dpi bei 300 erzeugt scharfen Text und Grafiken. PaperMargins akzeptiert Millimeterwerte durch den Margins Konstruktor. Für die vollständige Liste der verfügbaren Eigenschaften siehe den Leitfaden zu Druckeinstellungen.

Ausgabe

Der Quartalsbericht druckt mit dem benannten Drucker, A4-Hochformat, 300 DPI, 2 Kopien und 15 mm Rändern in einem Auftrag. Der Auftrag erscheint in der Druckerwarteschlange wie oben zu sehen.

Quartalsberichtsausgabe mit PrinterName, A4, 300 DPI, 2 Kopien und 15 mm Rändern.

IronPrint validiert die Konfiguration als Einheit und übermittelt die kombinierten Einstellungen in einem einzigen Auftrag an den Druckertreiber.

Anwendungen, die den Hauptthread während der Druckererkennung oder des Druckens nicht blockieren können, können die asynchronen Entsprechungen beider Vorgänge verwenden.

Wie wähle ich einen Drucker und drucke asynchron?

Für WPF- und WinForms-Apps, bei denen das Blockieren des Hauptthreads keine Option ist, verwenden wir Printer.GetPrinterNamesAsync und Printer.PrintAsync. Beide geben ein Task zurück, wodurch die Benutzeroberfläche reaktionsfähig bleibt.

using IronPrint;
using System.Threading.Tasks;

public class PrintService
{
    public async Task PrintToFirstAvailableAsync(string filePath)
    {
        // Discover available printers asynchronously
        List<string> printers = await Printer.GetPrinterNamesAsync();

        // Exit if no printers are installed
        if (printers.Count == 0)
        {
            Console.WriteLine("No printers found.");
            return;
        }

        // Configure settings for the first available printer
        PrintSettings settings = new PrintSettings
        {
            PrinterName = printers[0],
            Dpi = 300
        };

        // Print asynchronously
        await Printer.PrintAsync(filePath, settings);
    }
}

Dieses klassenbasierte Beispiel umwickelt die Logik zum Entdecken und Drucken in einem wiederverwendbaren Dienst. Wir rufen GetPrinterNamesAsync auf, um die Druckerliste abzurufen, ohne die Benutzeroberfläche einzufrieren, und weisen dann den ersten verfügbaren Drucker PrinterName zu. Der await Printer.PrintAsync Aufruf sendet den Auftrag asynchron.

Ausgabe

Die Rechnung wird asynchron an den zuerst entdeckten Drucker gedruckt. Der Auftrag erscheint in der Druckerwarteschlange wie oben zu sehen.

Rechnungsausgabe asynchron an den ersten verfügbaren Drucker gedruckt.

In der Produktion könnten wir printers[0] durch eine Logik ersetzen, die einer Namenskonvention entspricht, z.B. das Suchen nach Druckern mit 'Label' für Versandetiketten oder 'Color' für gebrandete Dokumente. Die asynchronen Methoden von IronPrint akzeptieren alle das gleiche PrintSettings Objekt, sodass PrinterName Verhalten zwischen synchronen und asynchronen Pfaden identisch ist.

Mit statischer Zuweisung, Laufzeiterkennung, kombinierten Einstellungen und asynchronen Workflows, die alle abgedeckt sind, sind einige verwandte Ressourcen es wert, als Lesezeichen gespeichert zu werden.

Was sind meine nächsten Schritte?

Wir behandelten die Spezifizierung eines Druckernamens über PrintSettings.PrinterName, von statischer Zuweisung bis hin zu dynamischer Laufzeiterkennung mit Printer.GetPrinterNames. Die Schlüsselpunkte: Druckernamen müssen exakt übereinstimmen (groß-/klein-schreibungssensibel), null wird standardmäßig auf den OS-Standarddrucker gesetzt, und Druckdialoge überschreiben programmgesteuerte Auswahlen.

Das Beispiel für das Abrufen von Druckernamen bietet einen eigenständigen Entdeckungsausschnitt, während der Leitfaden zu Druckeinstellungen jedes konfigurierbare Eigenschaft im Detail behandelt. Die API-Referenz der Druckerklasse dokumentiert alle statischen Druckmethoden, und die PrintSettings API-Referenz listet jedes Feld und den Standard auf. Für einen vollständigen Schritt-für-Schritt-Durchgang verbindet das Print Document-Tutorial alles.

Starten Sie eine kostenlose 30-Tage-Testversion, um die Druckerauswahl in einem Live-Projekt zu testen. Wenn bereit, Sehen Sie sich Lizenzierungsoptionen ab $999 an.

https://ironsoftware.com/csharp/print/object-reference/api/IronPrint.PrintSettings.html https://ironsoftware.com/csharp/print/object-reference/api/IronPrint.PrintSettings.html https://ironsoftware.com/csharp/print/object-reference/api/IronPrint.Printer.html https://ironsoftware.com/csharp/print/how-to/print-settings/https://ironsoftware.com/csharp/print/object-reference/API Referenz/IronPrint.Printer.html

Häufig gestellte Fragen

Wie kann ich einen Druckernamen in C# mit IronPrint angeben?

Mit IronPrint können Sie einen Druckernamen in C# angeben, indem Sie die PrinterName-Eigenschaft festlegen. Dies ermöglicht Ihnen, einen bestimmten Drucker für Ihre Druckaufgaben anzusprechen.

Was ist IronPrint?

IronPrint ist eine Bibliothek von Iron Software, die Entwicklern ermöglicht, Druckaufgaben in C#-Anwendungen zu verwalten und Funktionalitäten bereitzustellen, um Druckernamen und andere Druckoptionen anzugeben.

Wie entdecke ich verfügbare Drucker in C#?

Mit IronPrint können Sie ganz einfach verfügbare Drucker in Ihrem Netzwerk entdecken, indem Sie auf die Liste der Drucker zugreifen und den gewünschten PrinterName für Ihren Druckauftrag auswählen.

Kann ich die PrinterName-Eigenschaft dynamisch setzen?

Ja, mit IronPrint können Sie die PrinterName-Eigenschaft in Ihrem C#-Code dynamisch setzen, um den gewünschten Drucker zur Laufzeit auszuwählen.

Ist es möglich, mit IronPrint zu einem Netzwerkdrucker zu drucken?

Ja, IronPrint ermöglicht es Ihnen, zu Netzwerkdruckern zu spezifizieren und zu drucken, indem Sie die entsprechende PrinterName-Eigenschaft in Ihrer C#-Anwendung festlegen.

Is it possible to print asynchronously with IronPrint?

Yes, you can use `Printer.GetPrinterNamesAsync` and `Printer.PrintAsync` methods in IronPrint to perform asynchronous printing, which is useful for keeping UI applications responsive.

Does IronPrint support user interaction via print dialogs?

Yes, in IronPrint, if a print dialog is opened using `ShowPrintDialog`, it can override the programmatic selection in the `PrinterName` property, giving end-users final control over printer selection.

What should I do if no printers are found using IronPrint?

If no printers are found with IronPrint's `Printer.GetPrinterNames`, ensure that printers are correctly installed and available on the system. You may also execute fallback logic or notify the user.

How do I ensure sharp print output using IronPrint?

To ensure sharp print output with IronPrint, set the `Dpi` property in the `PrintSettings` object to a suitable dpi value like 300, which produces high-quality text and graphics.

Can IronPrint be used for network and virtual printers?

Yes, IronPrint supports printing to local, network, and virtual printers, like 'Microsoft Print to PDF', as long as they are recognized by the operating system.

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.