Wie druckt man mit einem Dialog in C

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

IronPrint bietet Printer.ShowPrintDialog(): eine Methode, die den nativen Druckdialog des Betriebssystems öffnet, die Drucker- und Papierausswahl des Benutzers erfasst und das Dokument an die Druckwarteschlange sendet. Installieren Sie ein NuGet-Paket und schreiben Sie eine Codezeile.

Der Druckdialog ist das Standardfenster des Betriebssystems, das Benutzern ermöglicht, einen Drucker auszuwählen, Kopien zu setzen, einen Seitenbereich zu bestimmen und Papieroptionen anzupassen, bevor sie sich für den Druck entscheiden. Desktopanwendungen, die Benutzern diese Kontrolle vor jedem Auftrag geben müssen, sind der Hauptanwendungsfall.

Schnellstart: Mit einem Dialog drucken

  1. Installieren Sie IronPrint mit NuGet Package Manager

    PM > Install-Package IronPrint
  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    using IronPrint;
    
    // Display the print dialog and print the document
    Printer.ShowPrintDialog("document.pdf");
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

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

    arrow pointer

Wie funktioniert der Druckdialog in C#?

Die Printer.ShowPrintDialog() Methode öffnet den nativen Druckdialog des Betriebssystems. Der Benutzer sieht die vollständige Auswahl an Druckoptionen: Druckerauswahl, Anzahl der Kopien, Seitenbereich, Ausrichtung und Papiergröße. Sie klicken auf 'Drucken', um den Job zu senden, oder 'Abbrechen', um den Dialog zu schließen, ohne zu drucken.

Im Hintergrund erfordert der native .NET-Ansatz das Erstellen einer System.Windows.Forms.PrintDialog Instanz, die mit einem PrintDocument verbunden wird, das PrintPage Event zu behandeln, um Inhalte auf die Druckgrafikoberfläche zu zeichnen, das DialogResult zu prüfen und dann PrintDocument.Print() aufzurufen. Diese Einrichtung umfasst typischerweise 15–25 Zeilen Code. Es umfasst auch nicht den eingebauten PDF- oder Bild-Rendering (das Drucken eines PDFs über den nativen Dialog bedeutet, das PDF zuerst in druckbare Seiten zu parsen, was noch eine weitere Bibliothek erfordert).

IronPrint behandelt die gesamte Pipeline mit einem einzigen Aufruf:

Eingabe

Der an ShowPrintDialog übergebene quarterly-report.pdf, eine stilisierte Unternehmens-Q3-Finanzzusammenfassung mit KPI-Metrikkarten und Umsatztabellen der Division, stellt ein typisches Geschäftsdokument dar, das an den Druckdialog gesendet wird.

: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

Ausgabe

Natives Druckdialogfeld eröffnet von ShowPrintDialog

Natives Druckdialogfeld eröffnet von ShowPrintDialog für den Quartalsbericht.

Die Methode akzeptiert einen Dateipfad als string oder Rohdateidaten als byte[]. IronPrint erkennt das Dokumentformat, rendert es über die entsprechende Engine und präsentiert den Dialog. Wenn der Benutzer bestätigt, wird das Dokument mit den gewählten Einstellungen gedruckt. Das Druckdokument-Tutorial führt ausführlich durch den gesamten Druckzyklus.

Wie konfiguriere ich Dialogeinstellungen vor?

Wir können Standardwerte festlegen, bevor der Dialog geöffnet wird, indem wir ein PrintSettings Objekt erstellen und es als zweiten Parameter übergeben. Der Dialog wird mit diesen vorgewählten Werten geöffnet, und der Benutzer kann sie so akzeptieren oder jede Einstellung überschreiben.

Eingabe

Die invoice.pdf mit A4-Hochformateinstellungen bei 300 DPI vorab geladen: eine professionelle Abrechnungsrechnung mit Positionen, Rabatten, Steuern und Überweisungsanweisungen, die ein realistisches Dokument darstellt, bei dem die Anwendung bereits die erforderliche Papiergröße und Ausrichtung kennt.

: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

Ausgabe

Windows-Druckdialogfeld mit vorkonfigurierten Einstellungen

Natives Druckdialogfeld geöffnet mit vorkonfigurierten A4-Hochformateinstellungen.

Dies ist nützlich, wenn die Anwendung den wahrscheinlichen Drucker oder das Papierformat im Voraus kennt. Zum Beispiel kann ein Point-of-Sale-System, das immer Belege auf einem bestimmten Thermodrucker druckt, PrinterName standardmäßig auf dieses Gerät setzen. Der Benutzer hat dennoch die Möglichkeit, es im Dialog zu ändern.

Um zu erfahren, welche Drucker im System verfügbar sind, rufen wir Printer.GetPrinterNames() auf, was eine List<string> aller installierten Drucker zurückgibt. Ähnlich gibt Printer.GetPrinterTrays() verfügbare Papierfächer für einen bestimmten Drucker zurück.

Die vollständige Liste der konfigurierbaren Eigenschaften umfasst PrinterName, PaperSize, PaperOrientation, Dpi, NumberOfCopies, Grayscale, PaperMargins, Flatten (für PDF-Formularfelder) und Tray. Die Print-Einstellungen-Anleitung behandelt jede Eigenschaft mit Codebeispielen. Jede Eigenschaft, die nicht in PrintSettings festgelegt ist, wird auf die Standardkonfiguration des ausgewählten Druckers zurückgesetzt.

Wie zeige ich den Dialog asynchron an?

Die Printer.ShowPrintDialogAsync() Methode gibt eine Task zurück, was sie mit await kompatibel macht. Dies verhindert, dass der Dialog den UI-Thread blockiert, was für WPF, MAUI und jede Anwendung, bei der eine eingefrorene Oberfläche eine schlechte Benutzererfahrung erzeugt, unerlässlich ist.

Eingabe

Die report.pdf wurde asynchron erwartet: ein mehrteiliger IT-Infrastruktur- und Sicherheitsbericht, der eine Art Langformdokument darstellt, bei dem die nicht blockierende Dialogpräsentation die Benutzeroberfläche reaktionsschnell hält, während die Datei geladen wird.

: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

Ausgabe

Asynchroner Druckdialog über ShowPrintDialogAsync geöffnet

Natives Druckdialogfeld asynchron über ShowPrintDialogAsync geöffnet, mit der Konsole, die die nicht blockierende Ausführung bestätigt.

ShowPrintDialogAsync() akzeptiert die gleichen Parameter wie die synchrone Version: einen Dateipfad oder Byte-Array, plus ein optionales PrintSettings Objekt. Das asynchrone Muster folgt dem gleichen Task-basierten Asynchronen Muster, das in der modernen .NET-Entwicklung verwendet wird.

IronPrint funktioniert auf WinForms, WPF, MAUI und Konsolenanwendungen. Das Erscheinungsbild des Dialogs passt sich der Hostplattform und der OS-Version an, damit der Benutzer stets das native Druckfenster sieht, das er erwartet.

Wann sollte ich einen Dialog versus ein stilles Drucken verwenden?

Verwenden Sie den Dialog, wenn Benutzer vor jedem Auftrag die Druckeinstellungen auswählen müssen; Verwenden Sie das leise Drucken für automatisierte Workflows, bei denen keine menschliche Entscheidung erforderlich ist.

Kriterien Drucken mit Dialog Stiller Druck
Benutzerinteraktion Benutzer wählt Drucker, Kopien, Seitenbereich aus Keine Interaktion; prints immediately
Am besten geeignet für Desktop-Apps, Einzelabdrucke, benutzerfreundliche Funktionen Stapelverarbeitungen, Hintergrunddienste, Kiosk-Apps
Auswahl des Druckers Benutzer wählt aus Dialog Programmgesteuert festgelegt über PrintSettings
IronPrint-Methode Printer.ShowPrintDialog() Printer.Print()
Asynchrone Variante ShowPrintDialogAsync() PrintAsync()

Berichtsexporte, Rechnungsdrucke und jeder Auftrag, bei dem der falsche Drucker Material verschwendet, sind gute Kandidaten für den Dialog. Leises Drucken passt zu automatisierten Workflows, bei denen keine menschliche Entscheidung zwischen den Dokumenten erforderlich ist.

Welche Dateiformate unterstützt der Druckdialog?

Printer.ShowPrintDialog() unterstützt die gleichen Formate wie das stille Drucken: PDF, PNG, TIFF, JPEG, GIF, HTML und BMP. Wir übergeben den Dateipfad unabhängig vom Format, und IronPrint kümmert sich um die Darstellung und die Kommunikation mit dem Druckspooler. Auch Dateidaten als byte[] werden akzeptiert, was nützlich ist, wenn das Dokument im Speicher erzeugt oder aus einer Datenbank abgerufen wird.

Eingabe

monthly-report.pdf, in einen byte[] gelesen, stellt ein Dokument dar, das aus einer Datenbank abgerufen oder im Speicher erzeugt wurde, bevor es an den Dialog gesendet wird.

: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

Ausgabe

Der Dialog öffnet sich wie in den obigen Beispielen gezeigt. Die Formatdetektion erfolgt automatisch: egal, ob wir einen Dateipfad oder einen byte[] übergeben, IronPrint rendert das Dokument und präsentiert denselben nativen Dialog.

Die Codebeispielseite zeigt zusätzliche formatbezogene Szenarien. Für PDF-spezifische Workflows (PDFs generieren und sofort drucken) passt IronPDF natürlich zu IronPrint.

Nächste Schritte

Das Drucken mit Dialog läuft auf zwei Methoden hinaus: Printer.ShowPrintDialog() für synchrone Aufrufe und Printer.ShowPrintDialogAsync() für nicht blockierende Ausführung. Standardwerte vorab konfigurieren mit PrintSettings und dem Benutzer die Anpassung überlassen. Beide Methoden unterstützen alle Dokumentformate von IronPrint und funktionieren in WinForms-, WPF-, MAUI- und Konsolenprojekten.

Entdecken Sie die IronPrint-Tutorials für vollständige Anleitungen, die API-Referenz der Printer-Klasse für alle verfügbaren Methoden oder die Anleitung für Druckeinstellungen für erweiterte Konfiguration. Das Änderungsprotokoll zeichnet kürzliche Verbesserungen und neue Funktionen auf.

Starten Sie eine kostenlose 30-tägige Testversion, um das Dialogdruck in einem Live-Projekt zu testen, keine Kreditkarte erforderlich. Wenn Sie bereit sind zu versenden, sehen Sie sich die Lizenzierungsoptionen an, die bei $999 anfangen.

Häufig gestellte Fragen

Was ist die Hauptfunktion von IronPrint?

IronPrint ermöglicht es Entwicklern, einen Druckdialog in C#-Anwendungen anzuzeigen und zu konfigurieren, was das einfache Drucken von PDFs und Bildern mit vorkonfigurierten Einstellungen ermöglicht.

Wie kann ich einen Druckdialog mit IronPrint anzeigen?

Sie können einen Druckdialog in Ihrer C#-Anwendung mit der ShowPrintDialog()-Methode von IronPrint anzeigen, die eine interaktive Möglichkeit bietet, Druckeinstellungen zu konfigurieren.

Unterstützt IronPrint asynchronen Druck?

Ja, IronPrint unterstützt asynchronen Druck, was es Ihrer Anwendung ermöglicht, auch während der Bearbeitung von Druckaufträgen reaktionsfähig zu bleiben.

Kann ich mit IronPrint Druckeinstellungen vorkonfigurieren?

Ja, IronPrint ermöglicht es Ihnen, Druckeinstellungen wie Papiergröße, Ausrichtung und Druckerauswahl vor der Anzeige des Druckdialogs vorkonfigurieren.

Ist es möglich, Bilder mit IronPrint zu drucken?

IronPrint unterstützt das Drucken von sowohl PDFs als auch Bildern, bietet Flexibilität für verschiedene Dokumentarten in Ihrer C#-Anwendung.

Wie verbessert IronPrint die Druckdialog-Erfahrung in C#?

IronPrint verbessert die Druckdialog-Erfahrung, indem Entwicklern ermöglicht wird, Druckeinstellungen einfach anzupassen und zu konfigurieren, und unterstützt sowohl synchrone als auch asynchrone Vorgänge.

Welche Arten von Dokumenten kann ich mit IronPrint drucken?

Mit IronPrint können Sie direkt aus Ihrer C#-Anwendung eine Vielzahl von Dokumenten drucken, einschließlich PDFs und Bilder.

Kann IronPrint in bestehende C#-Anwendungen integriert werden?

Ja, IronPrint ist so konzipiert, dass es einfach in bestehende C#-Anwendungen integriert werden kann und eine einfache Möglichkeit zur Hinzufügung von Druckdialogfunktionen bietet.

Welche Vorteile bietet IronPrint für C# Entwickler?

IronPrint bietet Vorteile wie einfache Integration, anpassbare Druckeinstellungen, Unterstützung für asynchronen Druck und die Fähigkeit, PDFs und Bilder zu drucken.

Wie verwaltet IronPrint verschiedene Druckerkonfigurationen?

IronPrint ermöglicht es Ihnen, verschiedene Druckereinstellungen zu konfigurieren und gewährleistet die Kompatibilität mit unterschiedlichen Druckern und Anpassung an spezifische Druckanforderungen.

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

Weiterlesen
Bereit anzufangen?
Nuget Downloads 44,051 | Version: 2026.7 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronPrint
Führen Sie ein Beispiel aus und beobachten Sie, wie Ihr Dokument auf dem Drucker ausgegeben wird.