Wie druckt man mit einem Dialog in C
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
-
Installieren Sie IronPrint mit NuGet Package Manager
-
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
using IronPrint; // Display the print dialog and print the document Printer.ShowPrintDialog("document.pdf"); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronPrint in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- Installieren Sie die IronPrint C#-Druckbibliothek
- Rufen Sie
Printer.ShowPrintDialog("filepath")auf - Der Benutzer wählt Drucker, Kopien und Seitenbereich aus
- Klicken Sie auf Drucken, um das Dokument an den ausgewählten Drucker zu senden
- Überprüfen Sie, ob das Dokument mit den ausgewählten Einstellungen gedruckt wird
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")
Ausgabe
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)
Ausgabe
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")
Ausgabe
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)
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.




