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 vom Benutzer gewählten Drucker- und Papieroptionen erfasst und das Dokument an die Druckwarteschlange übergibt. 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 Methode Printer.ShowPrintDialog() öffnet den nativen PRINT-Dialog 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 die Erstellung einer System.Windows.Forms.PrintDialog-Instanz, deren Verknüpfung mit einem PrintDocument, die Verarbeitung des PrintPage-Ereignisses zum Zeichnen von Inhalten auf die PRINT-Grafikoberfläche, die Überprüfung des DialogResult und schließlich den Aufruf von PrintDocument.Print() erfordert. 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

Die Datei "quarterly-report.pdf", die an ShowPrintDialog übergeben wurde, ist eine formatierte Unternehmensübersicht zum 3. Quartal mit KPI-Kennzahlenkarten und Umsatz-Tabellen nach Geschäftsbereichen und stellt ein typisches Geschäftsdokument dar, das an den PRINT-Dialog 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 Rohdaten der Datei 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 sich das Dialogfeld öffnet, 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. Beispielsweise kann ein Kassensystem, das Belege immer auf einem bestimmten Thermodrucker ausdruckt, PrinterName standardmäßig auf dieses Gerät setzen. Der Benutzer hat weiterhin die Möglichkeit, dies im Dialogfeld zu ändern.

Um herauszufinden, welche Drucker auf dem System verfügbar sind, rufen wir Printer.GetPrinterNames() auf, was ein List<string> aller installierten Drucker zurückgibt. Ebenso gibt Printer.GetPrinterTrays() die verfügbaren 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 standardmäßig auf die Standardkonfiguration des ausgewählten Druckers gesetzt.

Wie zeige ich den Dialog asynchron an?

Die Printer.ShowPrintDialogAsync()-Methode gibt einen Task zurück, wodurch sie mit await kompatibel ist. 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 dieselben Parameter wie die synchrone Version: einen Dateipfad oder ein 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 ü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 dieselben Formate wie der stille Druck: PDF, PNG, TIFF, JPEG, GIF, HTML und BMP. Wir übergeben den Dateipfad unabhängig vom Format, und IronPrint übernimmt die Darstellung sowie die Kommunikation mit dem Druckspooler. Dateidaten im Format byte[] werden ebenfalls akzeptiert, was nützlich ist, wenn das Dokument im Speicher generiert oder aus einer Datenbank abgerufen wird.

Eingabe

monthly-report.pdf wird in ein byte[] eingelesen, das ein Dokument darstellt, das aus einer Datenbank abgerufen oder im Speicher generiert 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 Formaterkennung erfolgt automatisch: Unabhängig davon, ob wir einen Dateipfad oder ein byte[] übergeben, rendert IronPrint das Dokument und zeigt denselben nativen Dialog an.

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 PRINT-Kommando über ein Dialogfeld lässt sich auf zwei Methoden zurückführen: Printer.ShowPrintDialog() für synchrone Aufrufe und Printer.ShowPrintDialogAsync() für die nicht blockierende Ausführung. Konfigurieren Sie Standardwerte mit PrintSettings vor und lassen Sie den Benutzer diese von dort aus anpassen. 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, das Produkt zu versenden, sehen Sie sich die Lizenzoptionen ab $999 an.

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 41,154 | Version: 2026.5 just released
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.