IRONPRINT VERWENDEN

Drucken mit Netzwerkdrucker in C#

Veröffentlicht 6. Juni 2024
Teilen Sie:

Einführung

Programmgesteuertes Drucken auf Netzwerkdruckern ist eine gängige Aufgabe für verschiedene Softwareanwendungen. Unabhängig davon, ob Sie eine Desktop-Anwendung, eine mobile Anwendung oder einen Webdienst erstellen, kann die Möglichkeit, Dokumente direkt an einen Netzwerkdrucker zu senden, die Benutzerfreundlichkeit und Effizienz Ihrer Software erheblich verbessern. In diesem Artikel erfahren Sie, wie Sie mit C# und den folgenden Funktionen auf einem Netzwerkdrucker drucken könnenIronPrint vonIron Software.

Drucken mit einem Netzwerkdrucker in C#;

  1. Erstellen Sie ein neues Projekt zum Drucken von Dokumenten mitIronPrint.

  2. Installieren SieIronPrint zu einem neuen Projekt.

  3. Liste der Netzwerkdrucker, die zum Drucken von Dokumenten zur Verfügung stehen.

  4. Drucken von PDF-Dokumenten mitIronPrint.

  5. Drucken von PDF-Dokumenten mitIronPrint mit Dialog.

  6. Vorabdruck mit Druckeinstellungen.

Einrichten der Umgebung

Bevor wir uns mit der Programmierung befassen, sollten wir sicherstellen, dass unsere Umgebung korrekt eingerichtet ist. Um in C# auf einem Netzwerkdrucker zu drucken, benötigen Sie die folgenden Voraussetzungen:

  1. Stellen Sie sicher, dass ein Netzwerkdrucker von dem Rechner aus zugänglich ist, auf dem Ihre C#-Anwendung ausgeführt wird.

  2. Die Netzwerkadresse des Druckers(IP-Adresse oder Name des Netzwerkdruckers).

  3. Erforderliche Druckertreiber sind auf dem Gerät installiert.

  4. Administrative Rechte zur Installation von Druckern oder Treibern, falls erforderlich.

IronPrint

Bevor wir uns mit den Einzelheiten der Implementierung befassen, sollten wir uns mit den ersten Schritten mit IronPrint vertraut machen:

  1. Installation: IronPrint kann einfach über den NuGet Package Manager installiert werden. Besuchen Sie einfach dieNuGet-Seite und folgen Sie den Installationsanweisungen.

  2. Dokumentation: Siehe dieoffizielle Dokumentation für eine Schnellstartanleitung und eine umfassende API-Referenz.

    Kompatibilität und Unterstützung: IronPrint bietet umfassende Kompatibilität und Unterstützung für verschiedene Umgebungen und Projekttypen:

    • Unterstützung von .NET-Versionen: IronPrint unterstützt C#, VB.NET und F#, einschließlich .NET 8,7,6,5, und Core 3.1+.
    • Betriebssysteme und Umgebungen: IronPrint ist kompatibel mit Windows(7+)macOS(10+), iOS(11+)und Android API 21+(v5 "Lollipop").
    • Projekttypen: Ob Sie nun mobile Anwendungen entwickeln(Xamarin, MAUI, Avalonia)schreibtisch(WPF, MAUI, Windows Avalonia)oder Konsolenanwendungen, IronPrint hat alles, was Sie brauchen.

    Anhand des folgenden Beispiels wollen wir nun sehen, wie man mit IronPrint druckt.

using IronPrint;
// Configure printer setting
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 220;
printSettings.NumberOfCopies = 10;
printSettings.PaperOrientation = PaperOrientation.Portrait;
// Print the document
Printer.Print("awesomeIronPrint.pdf", printSettings);
using IronPrint;
// Configure printer setting
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 220;
printSettings.NumberOfCopies = 10;
printSettings.PaperOrientation = PaperOrientation.Portrait;
// Print the document
Printer.Print("awesomeIronPrint.pdf", printSettings);
Imports IronPrint
' Configure printer setting
Private printSettings As New PrintSettings()
printSettings.Dpi = 220
printSettings.NumberOfCopies = 10
printSettings.PaperOrientation = PaperOrientation.Portrait
' Print the document
Printer.Print("awesomeIronPrint.pdf", printSettings)
VB   C#

System.Printing

Der Namespace System.Printing in C# enthält Klassen und Schnittstellen, die es Entwicklern ermöglichen, mit Druckern, Druckwarteschlangen, Druckservern und Druckaufträgen programmatisch zu interagieren. Zu den wichtigsten Klassen und Schnittstellen in diesem Namespace gehören:

  1. druckwarteschlange": Stellt einen Drucker oder ein Druckgerät dar, der/das mit dem System verbunden ist.

  2. druckServer": Stellt einen Druckserver im Netzwerk dar.

  3. druckSystemJobInfo": Liefert Informationen über einen Druckauftrag, z. B. seinen Status und seine Eigenschaften.

  4. druckTicket": Repräsentiert die Einstellungen für einen Druckauftrag, einschließlich Papierformat, Ausrichtung und Druckqualität.

    Erste Schritte mit System.Printing: Bevor wir in den Code eintauchen, wollen wir sicherstellen, dass wir ein grundlegendes Verständnis davon haben, wie das Drucken mit System.Printing funktioniert:

  5. PrintQueue-Auswahl: Sie müssen das "PrintQueue"-Objekt identifizieren, das den Drucker darstellt, den Sie zum Drucken verwenden möchten.

  6. PrintTicket-Konfiguration: Optional können Sie das PrintTicket-Objekt konfigurieren, um Druckeinstellungen wie Papierformat, Ausrichtung und Anzahl der Kopien festzulegen.

  7. Dokumenten-Druck: Schließlich senden Sie das zu druckende Dokument an die ausgewählte "Druckwarteschlange".

    Implementierung des Dokumentendrucks mit System.Printing: Lassen Sie uns nun anhand des folgenden Beispiels den Prozess des Druckens eines Dokuments mit System.Printing durchgehen:

    Hier ist der Quellcode:

using System;
using System.IO;
using System.Printing;
class Program
{
    static void Main(string[] args)
    {
        // Specify the path to the document to be printed on the local printer
        string documentPath = "path/to/your/document.pdf";
        // Instantiate a Printer Server object representing the local print server
        using (PrintServer printServer = new PrintServer())
        {
            // Get the default PrintQueue from the PrintServer default 
            PrintQueue defaultPrintQueue = printServer.DefaultPrintQueue;
            // Create a PrintTicket object to specify print settings (optional)
            PrintTicket printTicket = new PrintTicket();
            // Configure print settings, e.g., number of copies, paper size, orientation
            printTicket.CopyCount = 1;
            // Print the document to the default PrintQueue with the specified PrintTicket
            defaultPrintQueue.AddJob("MyPrintJob", documentPath, false, printTicket);
        }
        Console.WriteLine("Document sent to print queue.");
    }
}
using System;
using System.IO;
using System.Printing;
class Program
{
    static void Main(string[] args)
    {
        // Specify the path to the document to be printed on the local printer
        string documentPath = "path/to/your/document.pdf";
        // Instantiate a Printer Server object representing the local print server
        using (PrintServer printServer = new PrintServer())
        {
            // Get the default PrintQueue from the PrintServer default 
            PrintQueue defaultPrintQueue = printServer.DefaultPrintQueue;
            // Create a PrintTicket object to specify print settings (optional)
            PrintTicket printTicket = new PrintTicket();
            // Configure print settings, e.g., number of copies, paper size, orientation
            printTicket.CopyCount = 1;
            // Print the document to the default PrintQueue with the specified PrintTicket
            defaultPrintQueue.AddJob("MyPrintJob", documentPath, false, printTicket);
        }
        Console.WriteLine("Document sent to print queue.");
    }
}
Imports System
Imports System.IO
Imports System.Printing
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Specify the path to the document to be printed on the local printer
		Dim documentPath As String = "path/to/your/document.pdf"
		' Instantiate a Printer Server object representing the local print server
		Using printServer As New PrintServer()
			' Get the default PrintQueue from the PrintServer default 
			Dim defaultPrintQueue As PrintQueue = printServer.DefaultPrintQueue
			' Create a PrintTicket object to specify print settings (optional)
			Dim printTicket As New PrintTicket()
			' Configure print settings, e.g., number of copies, paper size, orientation
			printTicket.CopyCount = 1
			' Print the document to the default PrintQueue with the specified PrintTicket
			defaultPrintQueue.AddJob("MyPrintJob", documentPath, False, printTicket)
		End Using
		Console.WriteLine("Document sent to print queue.")
	End Sub
End Class
VB   C#

IronPrint im Vergleich zu System.Printing

Wie man mit einem Netzwerkdrucker in C# druckt: Abbildung 1 - Eine schnelle Vergleichstabelle zwischen IronPrint und System.Printing

Diese Tabelle gibt einen schnellen Überblick über die Funktionen und Eigenschaften von IronPrint und System.Printing und hilft Entwicklern, fundierte Entscheidungen auf der Grundlage ihrer spezifischen Anforderungen und Plattformziele zu treffen.

Schritt 1: Erstellen Sie ein neues Projekt zum Drucken von Dokumenten mit IronPrint

Erstellen Sie eine Konsolenanwendung in Visual Studio wie unten gezeigt.

Wie man mit einem Netzwerkdrucker in C# druckt: Abbildung 2 - Erstellen einer Konsolenanwendung

Geben Sie einen Projektnamen und den Standort an.

Wie man mit einem Netzwerkdrucker in C# druckt: Abbildung 3 - Geben Sie einen Projektnamen an

Wählen Sie die .NET-Version aus.

Wie man mit einem Netzwerkdrucker in C# druckt: Abbildung 4 - Wählen Sie die geeignete .NET-Version

Jetzt ist das Projekt erstellt und bereit für die weitere Codierung.

Schritt 2: Installieren Sie IronPrint auf einem neuen Projekt

Installieren Sie IronPrint über den Visual Studio Package Manager wie unten gezeigt.

Wie man mit einem Netzwerkdrucker in C# druckt: Abbildung 5 - Suche nach IronPrint über den Visual Studio Package Manager

IronPrint kann auch mit dem unten stehenden Befehl installiert werden:

Install-Package IronPrint

Schritt 3: Auflisten der Netzwerkdrucker, die zum Drucken von Dokumenten zur Verfügung stehen

Um die Druckernamen mit IronPrint aufzulisten, verwenden Sie den folgenden Code:

using IronPrint;
namespace IronPrintDemo;
public class Program
{
    public static void Main()
    {
        // Get printer names using printer drivers
        List<string> printersName = Printer.GetPrinterNames();
        foreach (var printer in printersName)
        {
            Console.WriteLine(printer);
        }
    }
}
using IronPrint;
namespace IronPrintDemo;
public class Program
{
    public static void Main()
    {
        // Get printer names using printer drivers
        List<string> printersName = Printer.GetPrinterNames();
        foreach (var printer in printersName)
        {
            Console.WriteLine(printer);
        }
    }
}
Imports IronPrint
Namespace IronPrintDemo
	Public Class Program
		Public Shared Sub Main()
			' Get printer names using printer drivers
			Dim printersName As List(Of String) = Printer.GetPrinterNames()
			For Each printer In printersName
				Console.WriteLine(printer)
			Next printer
		End Sub
	End Class
End Namespace
VB   C#

Code Erläuterung

  1. Verwenden Sie Printer.GetPrinterNames, um alle verfügbaren Druckertreiber zu ermitteln.

  2. Drucken Sie die Namen mit Console.WriteLine.

Ausgabe

Wie man mit einem Netzwerkdrucker in C# druckt: Abbildung 6 - Beispiel für die Ausgabe verfügbarer Drucker

Schritt 4: PDF-Dokument mit IronPrint drucken

Verwenden Sie den nachstehenden Code, um das Dokument geräuschlos zu drucken:

using IronPrint;
namespace IronPrintDemo;
public class Program
{
    public static void Main()
    {
        // Print the document silently
        Printer.Print("sample.pdf");
    }
}
using IronPrint;
namespace IronPrintDemo;
public class Program
{
    public static void Main()
    {
        // Print the document silently
        Printer.Print("sample.pdf");
    }
}
Imports IronPrint
Namespace IronPrintDemo
	Public Class Program
		Public Shared Sub Main()
			' Print the document silently
			Printer.Print("sample.pdf")
		End Sub
	End Class
End Namespace
VB   C#

Nach der Ausführung wird das Dokument, wie in der Ausgabe gezeigt, der Druckwarteschlange hinzugefügt.

Ausgabe

Wie man mit einem Netzwerkdrucker in C# druckt: Abbildung 7 - Beispiel für die Ausgabe eines Dokuments, das der Druckwarteschlange hinzugefügt wurde

Schritt 5: PDF-Dokument mit IronPrint mit Dialog drucken

Verwenden Sie den folgenden Code, um das Dokument mit dem Dialog zu drucken:

using IronPrint;
namespace IronPrintDemo;
public class Program
{
    public static void Main()
    {
        // Print with Dialog
        Printer.ShowPrintDialog("sample.pdf");
    }
}
using IronPrint;
namespace IronPrintDemo;
public class Program
{
    public static void Main()
    {
        // Print with Dialog
        Printer.ShowPrintDialog("sample.pdf");
    }
}
Imports IronPrint
Namespace IronPrintDemo
	Public Class Program
		Public Shared Sub Main()
			' Print with Dialog
			Printer.ShowPrintDialog("sample.pdf")
		End Sub
	End Class
End Namespace
VB   C#

Code Erläuterung

  1. Mit ShowPrintDialog von IronPrint können wir mit Dialog drucken

  2. Sobald das Dialogfeld geöffnet ist, wählen Sie den gewünschten Drucker aus, um das Dokument zu drucken

Ausgabe

Wie man mit einem Netzwerkdrucker in C# druckt: Abbildung 8 - Auswahl des richtigen Druckers

Schritt 6: Vorabdruck mit Druckeinstellungen

Das Drucken von Dokumenten mit erweiterten Einstellungen wird in IronPrint unterstützt. Es unterstützt die folgenden Eigenschaften:

  1. PaperSize: Gibt die vom Drucker verwendeten Papiermaße an.

  2. PaperOrientation: Legt die Ausrichtung des Papiers fest, z. B. Automatisch, Hoch- oder Querformat.

  3. DPI: Legt die gewünschte Druckauflösung in Dots per Inch fest. Der Standardwert ist 300, der üblicherweise im kommerziellen Druck verwendet wird. Der tatsächliche DPI-Wert kann durch die Möglichkeiten des Druckers eingeschränkt sein.

  4. NumberOfCopies: Gibt die Anzahl der identischen Kopien an, die für ein Dokument gedruckt werden sollen.

  5. Druckername: Gibt den Namen des für die Druckaufgaben vorgesehenen Druckers an.

  6. PaperMargins: Bestimmt die Ränder für den Druck, gemessen in Millimetern.

  7. Graustufen: Ein boolescher Wert, der bestimmt, ob in Graustufen gedruckt werden soll. Der Standardwert ist false.

    Schauen wir uns nun ein Codebeispiel an:

using IronPrint;
namespace IronPrintDemo;
public class Program
{
    public static void Main()
    {
        // Configure custom print setting
        PrintSettings printSettings = new PrintSettings();
        printSettings.Dpi = 150;
        printSettings.NumberOfCopies = 2;
        printSettings.PaperOrientation = PaperOrientation.Portrait;
        // Print the required document
        Printer.Print("sample.pdf", printSettings);
    }
}
using IronPrint;
namespace IronPrintDemo;
public class Program
{
    public static void Main()
    {
        // Configure custom print setting
        PrintSettings printSettings = new PrintSettings();
        printSettings.Dpi = 150;
        printSettings.NumberOfCopies = 2;
        printSettings.PaperOrientation = PaperOrientation.Portrait;
        // Print the required document
        Printer.Print("sample.pdf", printSettings);
    }
}
Imports IronPrint
Namespace IronPrintDemo
	Public Class Program
		Public Shared Sub Main()
			' Configure custom print setting
			Dim printSettings As New PrintSettings()
			printSettings.Dpi = 150
			printSettings.NumberOfCopies = 2
			printSettings.PaperOrientation = PaperOrientation.Portrait
			' Print the required document
			Printer.Print("sample.pdf", printSettings)
		End Sub
	End Class
End Namespace
VB   C#

Code Erläuterung

  1. Der Code beginnt mit dem Import des erforderlichen Namespace IronPrint, der vermutlich die erforderlichen Klassen und Methoden zum Drucken enthält.

  2. Im Namespace "IronPrintDemo" gibt es eine Klasse namens Program, die als public deklariert ist.

  3. Die Main-Methode dient als Einstiegspunkt in das Programm.

  4. Innerhalb der Methode Main:

    • Ein PrintSettings-Objekt namens printSettings wird instanziiert, um benutzerdefinierte Druckeinstellungen zu konfigurieren.

    • Die Dpi-Eigenschaft von printSettings ist auf 150 gesetzt, was eine Druckauflösung von 150 Punkten pro Zoll angibt.

    • Die Eigenschaft NumberOfCopies von printSettings wird auf 2 gesetzt, wodurch festgelegt wird, dass zwei identische Kopien des Dokuments gedruckt werden.

    • Die Eigenschaft PaperOrientation von printSettings wird auf PaperOrientation.Portrait gesetzt, was bedeutet, dass das Dokument im Hochformat gedruckt wird.
  5. Schließlich der Drucker. Die Methode Print wird mit den Parametern "sample.pdf" aufgerufen(den Namen des zu druckenden Dokuments) und printSettings(die benutzerdefinierten Druckeinstellungen). Bei dieser Methode wird der Druckvorgang vermutlich unter Verwendung der angegebenen Einstellungen durchgeführt.

Ausgabe

Wie man mit einem Netzwerkdrucker in C# druckt: Abbildung 9 - Beispiel für die Ausgabe eines PDF-Dokuments, das der Druckwarteschlange hinzugefügt wurde

Lizenz

IronPrint vonIron Software ist eine Unternehmensbibliothek und erfordert eine Lizenz für die Ausführung. Durch Hinzufügen eines IronPrint-Lizenzschlüssels wird das Projekt ohne Einschränkungen oder Wasserzeichen aktiviert. Kaufen Sie hier eine Lizenz oder melden Sie sich für einen kostenlosen 30-Tage-Testschlüssel anhier.

Sobald der Lizenzschlüssel erhalten wurde, muss er in der Datei appSettings.json in der Anwendung platziert werden

{
"IronPrint.License.LicenseKey": "IRONPRINT.KEY"
}

Damit können Sie Dokumente ohne Einschränkungen und Wasserzeichen drucken.

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass IronPrint und System.Printing jeweils ihre Stärken haben und für unterschiedliche Szenarien geeignet sind. IronPrint bietet eine schlanke und plattformübergreifende Lösung mit dem Schwerpunkt auf Einfachheit und Vielseitigkeit, während System.Printing native Integration und feinkörnige Kontrolle bietet, insbesondere für Windows-basierte Anwendungen. Entwickler sollten bei der Wahl zwischen diesen Druckbibliotheken für ihre C#-Projekte ihre spezifischen Anforderungen und Plattformziele berücksichtigen.

IronPrint vereinfacht den Dokumentendruck innerhalb von .NET-Anwendungen, indem es eine benutzerfreundliche API und umfassende Kompatibilität über verschiedene Plattformen und Projekttypen hinweg bietet. Wenn Sie die in diesem Artikel beschriebenen Schritte befolgen, können Sie die Druckfunktionalität nahtlos in Ihre .NET-Projekte integrieren und deren Benutzerfreundlichkeit und Produktivität verbessern. Entdecken Sie die Möglichkeiten von IronPrint und erschließen Sie sich eine Welt des effizienten Dokumentendrucks innerhalb Ihrer Anwendungen.

NÄCHSTES >
Drucken eines QR-Codes in C#

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

Gratis NuGet-Download Downloads insgesamt: 13,051 Lizenzen anzeigen >