IRONPRINT VERWENDEN

Wie man eine Datei auf einem Drucker in C# druckt

Veröffentlicht 29. April 2024
Teilen Sie:

Das Drucken von PDF-Dateien direkt aus einer C#-Anwendung kann eine wertvolle Funktion sein, insbesondere bei der Entwicklung von Anwendungen, die eine nahtlose Integration mit physischen PDF-Dokumenten erfordern. Egal, ob Sie an einem PDF-Dokumentenverwaltungssystem, einer Point-of-Sale-Anwendung oder einer anderen Software arbeiten, die mit dem Drucken zu tun hat, C# bietet eine Reihe von robusten Bibliotheken, die diese PDF-Druckmethodenfunktionalität erleichtern.

Zu diesem Zweck bietet Microsoft C# eine Druckmethode um PDF-Dateien auf einem Standarddrucker zu drucken. In diesem Artikel werden wir die Schritte zum Drucken einer PDF-Datei auf einem Drucker mit C# erkunden.

Wie drucke ich eine Datei auf einem Drucker in C#;

  1. Erstellen einer C# Windows Forms-Anwendung

  2. Importieren Sie System.Drawing.Printing mit dem Schlüsselwort

  3. Gestalten Sie das Formular mit einer Schaltfläche und anderen notwendigen Steuerelementen

  4. Behandlung des Ereignisses PrintDocument mit dem Ereignis PrintPage

  5. Auftrag Drucken einleiten

  6. Starten Sie die Anwendung und klicken Sie auf die Schaltfläche Drucken, um zu drucken

Voraussetzungen

Bevor Sie beginnen, sollten Sie sicherstellen, dass die folgenden Voraussetzungen erfüllt sind:

  1. Eine C#-Entwicklungsumgebung (z.B. Visual Studio).

  2. Ausreichende Berechtigungen für die Interaktion mit Druckern.

  3. Grundlegende Kenntnisse der C#-Programmierung.

Schritt 1: Einrichten Ihres Projekts

Erstellen Sie ein neues C#-Projekt oder öffnen Sie ein bestehendes Projekt in Ihrer bevorzugten Entwicklungsumgebung. Vergewissern Sie sich, dass Ihr Projekt korrekt konfiguriert ist und Sie über die erforderlichen Berechtigungen für Druckerinteraktionen verfügen. Mit dem folgenden Verfahren können Sie diesen Prozess abschließen:

Visual Studio installieren

Wenn Sie Visual Studio nicht installiert haben, können Sie es von der offiziellen Website herunterladen und installieren: Visuelles Studio.

Ein neues Projekt erstellen

  1. Öffnen Sie Visual Studio.

    1. Klicken Sie auf "Ein neues Projekt erstellen".

    Wie man eine Datei in C# auf einem Drucker ausgibt: Abbildung 1 - Neues Projekt

Projektvorlage auswählen

  1. Wählen Sie im Dialog "Neues Projekt erstellen" die Option "Windows Forms App (.NET-Framework)"oder "Windows Forms-Anwendung (.NET Core)" je nach Vorliebe.

    Wie man eine Datei in C# auf einem Drucker ausgibt: Abbildung 2 - Windows Forms-Anwendung

  2. Geben Sie einen Namen und einen Standort für Ihr Projekt an.

    Wie man eine Datei auf einem Drucker in C# druckt: Abbildung 3 - Projektkonfiguration

  1. Klicken Sie auf Weiter und wählen Sie auf dem Bildschirm mit den zusätzlichen Informationen das .NET-Framework aus und klicken Sie auf "Erstellen"

Gestalten Sie das Formular

  1. Sobald das Projekt erstellt ist, wird das Hauptformular im Designer angezeigt.

  2. Verwenden Sie die Toolbox, um Ihrem Formular nach Bedarf Steuerelemente wie Schaltflächen, Textfelder, Beschriftungen usw. hinzuzufügen.

    1. Passen Sie die Eigenschaften der einzelnen Steuerelemente über das Fenster Eigenschaften an.

    Wie man eine Datei auf einem Drucker in C# druckt: Abbildung 4 - Formularentwurf

    1. Passen Sie das Aussehen und das Layout des Formulars an.

    Wie man eine Datei auf einem Drucker in C# druckt: Abbildung 5 - Formular drucken

Schritt 2: Importieren der erforderlichen Bibliotheken

Importieren Sie in Ihrer C#-Codedatei die erforderlichen Namespaces, um auf die Klassen und Methoden im Zusammenhang mit dem Drucken zuzugreifen.

using System.Drawing.Printing;
using System.Drawing.Printing;
Imports System.Drawing.Printing
VB   C#

Diese Namespaces bieten wichtige Klassen wie PrintDocument, PrintPageEventArgs und PrintController für die Handhabung von Druckvorgängen.

Schritt 3: Behandlung des PrintDocument-Ereignisses

Die Klasse PrintDocument ist ein Grundstein für das Drucken in C#. Behandeln Sie das Ereignis PrintPage, um festzulegen, welcher Inhalt gedruckt und wie er formatiert werden soll. Beginnen wir mit einem einfachen Beispiel für das Drucken des Inhalts einer Textdatei:

private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
    // Specify the file path
    string filePath = "C:\\path\\to\\your\\file.txt";
    // Read the content of the file
    string line = System.IO.File.ReadAllText(filePath);
    // Create a Font object (adjust as needed)
    Font font = new Font("Arial", 12);
    // Create a RectangleF to define the printing area
    RectangleF area = new RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height);
    // Draw the content to the printing area
    e.Graphics.DrawString(line, font, Brushes.Black, area);
    // Set HasMorePages to false to indicate that there are no more pages to print
    e.HasMorePages = false;
}
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
    // Specify the file path
    string filePath = "C:\\path\\to\\your\\file.txt";
    // Read the content of the file
    string line = System.IO.File.ReadAllText(filePath);
    // Create a Font object (adjust as needed)
    Font font = new Font("Arial", 12);
    // Create a RectangleF to define the printing area
    RectangleF area = new RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height);
    // Draw the content to the printing area
    e.Graphics.DrawString(line, font, Brushes.Black, area);
    // Set HasMorePages to false to indicate that there are no more pages to print
    e.HasMorePages = false;
}
Private Sub printDocument1_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs)
	' Specify the file path
	Dim filePath As String = "C:\path\to\your\file.txt"
	' Read the content of the file
	Dim line As String = System.IO.File.ReadAllText(filePath)
	' Create a Font object (adjust as needed)
	Dim font As New Font("Arial", 12)
	' Create a RectangleF to define the printing area
	Dim area As New RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height)
	' Draw the content to the printing area
	e.Graphics.DrawString(line, font, Brushes.Black, area)
	' Set HasMorePages to false to indicate that there are no more pages to print
	e.HasMorePages = False
End Sub
VB   C#

Dieses Beispiel liest den Inhalt einer Textdatei und druckt ihn unter Verwendung der angegebenen Schriftart und Formatierung aus.

Schritt 4: Starten des Druckauftrags

Starten Sie den Druckauftrag, indem Sie eine Instanz der Klasse PrintDocument erstellen, den Ereignishandler PrintPage anhängen und dann den Druckvorgang auslösen. Optional können Sie einen Druckdialog für die Benutzerkonfiguration anzeigen:

private void btnPrint_Click(object sender, EventArgs e)
{
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
    // Optionally, display a print dialog for user configuration
    PrintDialog printDialog = new PrintDialog();
    if (printDialog.ShowDialog() == DialogResult.OK)
    {
        pd.PrinterSettings = printDialog.PrinterSettings;
        pd.Print();
    }
}
private void btnPrint_Click(object sender, EventArgs e)
{
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
    // Optionally, display a print dialog for user configuration
    PrintDialog printDialog = new PrintDialog();
    if (printDialog.ShowDialog() == DialogResult.OK)
    {
        pd.PrinterSettings = printDialog.PrinterSettings;
        pd.Print();
    }
}
Private Sub btnPrint_Click(ByVal sender As Object, ByVal e As EventArgs)
	Dim pd As New PrintDocument()
	AddHandler pd.PrintPage, AddressOf printDocument1_PrintPage
	' Optionally, display a print dialog for user configuration
	Dim printDialog As New PrintDialog()
	If printDialog.ShowDialog() = DialogResult.OK Then
		pd.PrinterSettings = printDialog.PrinterSettings
		pd.Print()
	End If
End Sub
VB   C#

Dieser Code erstellt eine PrintDocument-Instanz, fügt den PrintPage-Ereignishandler hinzu und druckt dann das Dokument. Der optionale Druckdialog ermöglicht es dem Benutzer, die Druckeinstellungen zu konfigurieren, bevor der Druckauftrag gestartet wird. Damit wird das Textdokument auf einem lokal angeschlossenen Drucker ausgedruckt. Ist er nicht vorhanden, wird die Datei auf dem Standarddrucker ausgedruckt (Microsoft Print to PDF) im Dialogfeld Drucken, wie unten gezeigt:

Wie man eine Datei in C# auf einem Drucker ausgibt: Abbildung 6 - Microsoft Druckdialog

Erweitertes Drucken in C#; über IronPrint Library

Wenn es darum geht, Druckfunktionen in C#-Konsolenanwendungen effizient und effektiv zu handhaben, bietet die IronPrint-Bibliothek eine leistungsstarke Lösung.

Einführung in IronPrint

IronPrint ist eine umfassende, von Iron Software entwickelte Druckbibliothek, die für die nahtlose Integration in .NET-Anwendungen konzipiert ist. Egal, ob Sie an einem Desktop-, Web- oder mobilen Projekt arbeiten, IronPrint bietet vielseitige Funktionen zum Drucken von PDF-Dokumenten, unterstützt verschiedene Dateiformate und bietet anpassbare Druckeinstellungen.

Wie man eine Datei in C# auf einem Drucker ausgibt: Abbildung 7 - IronPrint

Wesentliche Merkmale

  1. Formatunterstützung: IronPrint unterstützt eine Vielzahl von Dokumentenformaten, darunter PDF, PNG, HTML, TIFF, GIF, JPEG und BITMAP. Diese Vielseitigkeit stellt sicher, dass die Entwickler mit verschiedenen Arten von Inhalten für den Druck arbeiten können.

  2. Anpassbare Einstellungen: Entwickler haben die Flexibilität, die Druckeinstellungen entsprechend den Anforderungen ihrer Anwendung anzupassen. Dazu gehören Optionen zur Einstellung der DPI (punkte pro Zoll), Papierausrichtung angeben (hoch- oder Querformat)und kontrollieren die Anzahl der Kopien.

  3. Druckdialog: IronPrint ermöglicht eine nahtlose Benutzererfahrung, indem es Entwicklern erlaubt, einen Druckdialog vor dem Drucken anzuzeigen. Dies kann in Szenarien nützlich sein, in denen die Benutzer mit dem Druckprozess interagieren und bestimmte Optionen auswählen müssen.

  4. Plattformübergreifende Kompatibilität: IronPrint geht über die Plattformgrenzen hinaus und bietet Kompatibilität mit einer Vielzahl von Umgebungen, einschließlich Windows (7+), macOS (10+), iOS (11+)und Android API 21+ (v5 "Lollipop"). Es integriert sich nahtlos in verschiedene Projekttypen wie Mobile (Xamarin, MAUI und Avalonia)desktop (WPF, MAUI und Windows Avalonia)und Konsole (App & Bibliothek).

  5. Umfassende Unterstützung von .NET-Versionen: Egal, ob Sie die neueste .NET-Version 8, 7, 6 oder Core 3.1+ verwenden, IronPrint bietet Ihnen alles. Außerdem wird die Unterstützung auf das .NET-Framework ausgeweitet (4.6.2+)die Kompatibilität zwischen verschiedenen Entwicklungsumgebungen gewährleisten.

Installation von IronPrint

Bevor Sie mit dem Drucken von Dateien beginnen, müssen Sie die IronPrint-Bibliothek installieren. Sie können dies ganz einfach über die NuGet Package Manager Console tun:

Install-Package IronPrint

Mit dieser Befehlszeile wird die IronPrint-Bibliothek heruntergeladen und in Ihrem C#-Projekt installiert.

Initialisierung von IronPrint

Sobald IronPrint installiert ist, müssen Sie es in Ihrem C#-Code initialisieren. Importieren Sie den IronPrint-Namensraum und setzen Sie den Lizenzschlüssel, um die ordnungsgemäße Funktionalität sicherzustellen:

using IronPrint;
class Program
{
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
    }
}
using IronPrint;
class Program
{
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
    }
}
Imports IronPrint
Friend Class Program
	Public Shared Sub Main()
		License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY"
	End Sub
End Class
VB   C#

Drucken einer Datei mit IronPrint

Das Drucken einer Datei mit IronPrint ist ganz einfach. Sie können die Drucker klasse, die den Dateipfad für die Print-Methode angibt, um PDF-Dateien unauffällig zu drucken:

using IronPrint;
class Program
{
// static void main
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
        // Specify the file path
        var document = "C:\\path\\to\\your\\file.pdf";
        // Print PDFs
        Printer.Print(document);
    }
}
using IronPrint;
class Program
{
// static void main
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
        // Specify the file path
        var document = "C:\\path\\to\\your\\file.pdf";
        // Print PDFs
        Printer.Print(document);
    }
}
Imports IronPrint
Friend Class Program
' static void main
	Public Shared Sub Main()
		License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY"
		' Specify the file path
		Dim document = "C:\path\to\your\file.pdf"
		' Print PDFs
		Printer.Print(document)
	End Sub
End Class
VB   C#

Dieses Beispiel demonstriert den Druck einer PDF-Datei, aber IronPrint unterstützt eine Vielzahl von Dateiformaten, einschließlich PDF, PNG, HTML, TIFF, GIF, JPEG, IMAGE und BITMAP.

Anpassen der Druckeinstellungen

IronPrint ermöglicht Ihnen die Anpassung von Druckeinstellungen je nach den Anforderungen Ihrer Anwendung. Mit der Klasse PrintSettings können Sie Einstellungen wie DPI, Anzahl der Kopien, Papierausrichtung und vieles mehr konfigurieren. Mit dem folgenden Codebeispiel können Sie die Seiteneinstellungen festlegen und PDF-Dokumente drucken:

using IronPrint;
class Program
{
    public static void Main()
    {
        IronPrint.License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
    Console.WriteLine("Printing Started...");
        // Specify the file path
        string filePath = "C:\\path\\to\\your\\file.pdf";
        // Configure print settings
        PrintSettings printSettings = new PrintSettings();
        printSettings.Dpi = 300;
        printSettings.NumberOfCopies = 2;
        printSettings.PaperOrientation = PaperOrientation.Landscape;
        // Print the document with custom settings
        Printer.Print(filePath, printSettings);
    // Print using the Print dialog
    Printer.ShowPrintDialog(filePath, printSettings);
    }
}
using IronPrint;
class Program
{
    public static void Main()
    {
        IronPrint.License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
    Console.WriteLine("Printing Started...");
        // Specify the file path
        string filePath = "C:\\path\\to\\your\\file.pdf";
        // Configure print settings
        PrintSettings printSettings = new PrintSettings();
        printSettings.Dpi = 300;
        printSettings.NumberOfCopies = 2;
        printSettings.PaperOrientation = PaperOrientation.Landscape;
        // Print the document with custom settings
        Printer.Print(filePath, printSettings);
    // Print using the Print dialog
    Printer.ShowPrintDialog(filePath, printSettings);
    }
}
Imports IronPrint
Friend Class Program
	Public Shared Sub Main()
		IronPrint.License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY"
	Console.WriteLine("Printing Started...")
		' Specify the file path
		Dim filePath As String = "C:\path\to\your\file.pdf"
		' Configure print settings
		Dim printSettings As New PrintSettings()
		printSettings.Dpi = 300
		printSettings.NumberOfCopies = 2
		printSettings.PaperOrientation = PaperOrientation.Landscape
		' Print the document with custom settings
		Printer.Print(filePath, printSettings)
	' Print using the Print dialog
	Printer.ShowPrintDialog(filePath, printSettings)
	End Sub
End Class
VB   C#

So sieht die Ausgabe aus:

Wie man eine Datei in C# auf einem Drucker ausgibt: Abbildung 8 - Benutzerdefinierte Druckausgabe

Wenn der physische Drucker nicht installiert ist, wird der Standarddrucker zum Drucken von PDF-Dokumenten verwendet. Um alle verfügbaren Drucker zu erhalten, können Sie auch GetPrinterNames methode.

// Retrieve printers' name
List<string> printersName = Printer.GetPrinterNames();
foreach (string printer in printersName)
{
    Console.WriteLine(printer);
}
// Retrieve printers' name
List<string> printersName = Printer.GetPrinterNames();
foreach (string printer in printersName)
{
    Console.WriteLine(printer);
}
' Retrieve printers' name
Dim printersName As List(Of String) = Printer.GetPrinterNames()
For Each printer As String In printersName
	Console.WriteLine(printer)
Next printer
VB   C#

Ausführlichere Informationen finden Sie auf der Website Dokumentation seite.

Schlussfolgerung

Das Drucken von Dateien in C# ist mit den Möglichkeiten des System.Drawing.Printing-Namespace eine überschaubare Aufgabe. Durch die Behandlung des Ereignisses PrintPage und die Verwendung der Klasse PrintDocument können Sie den Druckvorgang an Ihre spezifischen Anforderungen anpassen. Dieses umfassende Handbuch behandelt die grundlegenden Schritte zum Drucken von Dateien aus einer C#-Anwendung und bietet Ihnen eine solide Grundlage für die Integration dieser Funktionalität in Ihre Projekte. Bei unseren weiteren Untersuchungen haben wir uns bei IronPrint nach zusätzlichen Anpassungsmöglichkeiten umgesehen, z. B. bei der Verarbeitung verschiedener Dateitypen, der Einbindung von Bildern und der Verbesserung der Formatierung je nach den Anforderungen der Anwendung.

Die Integration von IronPrint in Ihre C#-Anwendung vereinfacht den Prozess des Druckens von Dateien auf einem Drucker. Mit der Unterstützung verschiedener Dateiformate und anpassbarer Druckeinstellungen bietet IronPrint eine robuste Lösung für Entwickler, die ihre Druckfunktionen erweitern möchten. Ganz gleich, ob Sie an einem Desktop-, Web- oder Mobilprojekt arbeiten, IronPrint rationalisiert den Druckprozess und ist damit eine wertvolle Ergänzung zu Ihrem .NET-Toolkit.

IronPrint bietet eine kostenlos testen seite für weitere Informationen. Laden Sie die Bibliothek herunter von *hier und probieren Sie es aus.

< PREVIOUS
Drucken eines QR-Codes in C#
NÄCHSTES >
Wie man einen QR-Code in C# druckt

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 10,762 Lizenzen anzeigen >