Przejdź do treści stopki
KORZYSTANIE Z IRONPRINT

Jak drukować za pomocą drukarki sieciowej w języku C#

Programowe drukowanie na drukarkach sieciowych jest powszechnym zadaniem w różnych aplikacjach programowych. Niezależnie od tego, czy tworzysz aplikację na desktop, mobilną czy usługę webową, możliwość wysyłania dokumentów bezpośrednio do drukarki sieciowej może znacznie zwiększyć użyteczność i efektywność Twojego oprogramowania. W tym artykule omówimy, jak drukować na drukarce sieciowej używając języka C# i IronPrint od Iron Software.

How to Print with Network Printer in C

  1. Utwórz nowy projekt do drukowania dokumentów używając IronPrint.
  2. Install IronPrint to a new project.
  3. Lista dostępnych drukarek sieciowych do drukowania dokumentów.
  4. Drukuj dokumenty PDF używając IronPrint.
  5. Drukuj dokumenty PDF używając IronPrint z dialogiem.
  6. Zaawansowane drukowanie z ustawieniami druku.

Konfiguracja środowiska

Przed zagłębieniem się w część dotyczącą kodowania, upewnijmy się, że nasze środowisko jest poprawnie skonfigurowane. Aby drukować na drukarce sieciowej w C#, musisz mieć następujące elementy:

  1. Upewnij się, że drukarka sieciowa jest dostępna z maszyny, na której będzie uruchamiana aplikacja C#.
  2. Adres sieciowy drukarki (adres IP lub nazwa drukarki sieciowej).
  3. Konieczne sterowniki drukarki zainstalowane na maszynie.
  4. Uprawnienia administracyjne do instalowania drukarek lub sterowników, jeśli jest to wymagane.

IronPrint

Przed zagłębieniem się w szczegóły implementacji, zapoznamo się z podstawami IronPrint:

  1. Instalacja: IronPrint można łatwo zainstalować za pomocą Menedżera pakietów NuGet. Po prostu odwiedź stronę NuGet i postępuj zgodnie z instrukcjami instalacji.
  2. Dokumentacja: Zapoznaj się z oficjalną dokumentacją dla przewodnika szybkiego startu i kompleksowej dokumentacji API.

Kompatybilność i wsparcie: IronPrint oferuje szeroką kompatybilność i wsparcie w różnych środowiskach i typach projektów:

  • Wsparcie wersji .NET: IronPrint obsługuje C#, VB.NET i F#, w tym .NET 8,7,6,5, i Core 3.1+.
  • Systemy operacyjne i środowiska: IronPrint jest kompatybilny z Windows (7+), macOS (10+), iOS (11+) i Android API 21+ (v5 "Lollipop").
  • Typy projektów: Niezależnie od tego, czy tworzysz aplikacje mobilne (Xamarin, MAUI, Avalonia), desktopowe (WPF, MAUI, Windows Avalonia) czy konsolowe, IronPrint ma Cię pokrytego.

Teraz zobaczmy, jak drukować przy użyciu IronPrint na poniższym przykładzie.

using IronPrint;

namespace IronPrintDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // Configure printer setting
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 220;
            printSettings.NumberOfCopies = 10;
            printSettings.PaperOrientation = PaperOrientation.Portrait;

            // Print the document
            Printer.Print("awesome IronPrint.pdf", printSettings);
        }
    }
}
using IronPrint;

namespace IronPrintDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // Configure printer setting
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 220;
            printSettings.NumberOfCopies = 10;
            printSettings.PaperOrientation = PaperOrientation.Portrait;

            // Print the document
            Printer.Print("awesome IronPrint.pdf", printSettings);
        }
    }
}
Imports IronPrint

Namespace IronPrintDemo
    Class Program
        Shared Sub Main(ByVal args As String())
            ' Configure printer setting
            Dim printSettings As New PrintSettings()
            printSettings.Dpi = 220
            printSettings.NumberOfCopies = 10
            printSettings.PaperOrientation = PaperOrientation.Portrait

            ' Print the document
            Printer.Print("awesome IronPrint.pdf", printSettings)
        End Sub
    End Class
End Namespace
$vbLabelText   $csharpLabel

System.Printing

Przestrzeń nazw System.Printing w C# zawiera klasy i interfejsy, które pozwalają programistom na interakcję z drukarkami, kolejkami wydruku, serwerami wydruku i zadaniami wydruku programowo. Niektóre kluczowe klasy i interfejsy w tej przestrzeni nazw to:

  1. PrintQueue: Reprezentuje drukarkę lub urządzenie drukujące podłączone do systemu.
  2. PrintServer: Reprezentuje serwer drukowania w sieci.
  3. PrintSystemJobInfo: Dostarcza informacji o zadaniu wydruku, takich jak jego status i właściwości.
  4. PrintTicket: Reprezentuje ustawienia zadania wydruku, w tym rozmiar papieru, orientację i jakość druku.

Wprowadzenie do System.Printing: Zanim przejdziemy do kodu, upewnijmy się, że mamy podstawowe zrozumienie, jak drukowanie działa z System.Printing:

  1. PrintQueue Seleckcja: Musisz zidentyfikować obiekt PrintQueue, który reprezentuje drukarkę, której chcesz użyć do drukowania.
  2. PrintTicket Konfiguracja: Opcjonalnie, możesz skonfigurować obiekt PrintTicket, aby określić ustawienia druku, takie jak rozmiar papieru, orientację i liczba kopii.
  3. Drukowanie dokumentu: Na koniec, wyślij dokument do wydrukowania do wybranego PrintQueue.

Implementacja drukowania dokumentu za pomocą System.Printing: Teraz, przejdźmy przez proces drukowania dokumentu używając System.Printing z poniższym przykładem:

Oto kod źródłowy:

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
            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
            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
			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
$vbLabelText   $csharpLabel

IronPrint vs System.Printing

Jak drukować z drukarką sieciową w C#: Rysunek 1 - Szybka tabela porównawcza między IronPrint a System.Printing

Ta tabela zapewnia szybki przegląd funkcji i cech IronPrint oraz System.Printing, pomagając programistom w podejmowaniu świadomych decyzji na podstawie ich specyficznych wymagań i celów platform.

Krok 1: Utwórz nowy projekt do drukowania dokumentów używając IronPrint

Utwórz aplikację konsolową w Visual Studio, jak pokazano poniżej.

Jak drukować z drukarką sieciową w C#: Rysunek 2 - Tworzenie aplikacji konsolowej

Podaj nazwe projektu i lokalizacje.

Jak drukować z drukarką sieciową w C#: Rysunek 3 - Podaj nazwę projektu

Wybierz wersję .NET.

Jak drukować z drukarką sieciową w C#: Rysunek 4 - Wybierz odpowiednią wersję .NET

Teraz projekt jest utworzony i gotowy do dalszego kodowania.

Krok 2: Zainstaluj IronPrint w nowym projekcie

Zainstaluj IronPrint z Menedżera pakietów Visual Studio, jak pokazano poniżej.

Jak drukować z drukarką sieciową w C#: Rysunek 5 - Wyszukaj IronPrint przez Menedżera pakietów Visual Studio

IronPrint można również zainstalować używając komendy poniżej:

Install-Package IronPrint

Krok 3: Lista dostępnych drukarek sieciowych do drukowania dokumentów

Aby wymienić nazwy drukarek używając IronPrint, użyj kodu poniżej:

using System;
using System.Collections.Generic;
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 System;
using System.Collections.Generic;
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 System
Imports System.Collections.Generic
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
$vbLabelText   $csharpLabel

Wyjaśnienie kodu

  1. Użyj Printer.GetPrinterNames, aby uzyskać wszystkie dostępne sterowniki drukarki.
  2. Wydrukuj nazwy, używając Console.WriteLine.

Wynik

Jak drukować z drukarką sieciową w C#: Rysunek 6 - Przykładowy wynik dostępnych drukarek

Krok 4: Drukowanie dokumentu PDF używając IronPrint

Użyj kodu poniżej, aby wydrukować dokument cicho:

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
$vbLabelText   $csharpLabel

Po zakończeniu wykonania dokument zostanie dodany do kolejki drukowania, jak pokazano w wyniku.

Wynik

Jak drukować z drukarką sieciową w C#: Rysunek 7 - Przykładowy wynik pokazujący dodanie dokumentu do kolejki druku

Krok 5: Drukowanie dokumentu PDF przy użyciu IronPrint z dialogiem

Użyj kodu poniżej, aby wydrukować dokument z dialogiem:

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
$vbLabelText   $csharpLabel

Wyjaśnienie kodu

  1. Używając ShowPrintDialog z IronPrint, możemy drukować z oknem dialogowym.
  2. Po otwarciu dialogu wybierz wymaganą drukarkę, aby wydrukować dokument.

Wynik

Jak drukować z drukarką sieciową w C#: Rysunek 8 - Wybierz właściwą drukarkę

Krok 6: Zaawansowane drukowanie z ustawieniami druku

Drukowanie dokumentów z zaawansowanymi ustawieniami jest wspierane w IronPrint. Wspiera następujące właściwości:

  1. PaperSize: Określa wymiary papieru używane przez drukarkę.
  2. PaperOrientation: Definiuje orientację papieru, taką jak automatyczna, pionowa lub pozioma.
  3. DPI: Ustawia żądaną rozdzielczość wydruku w punktach na cal. Domyślna wartość to 300, powszechnie stosowana w druku komercyjnym. Rzeczywiste DPI może być ograniczone przez możliwości drukarki.
  4. NumberOfCopies: Wskazuje liczbę identycznych kopii do wydrukowania dla dokumentu.
  5. PrinterName: Określa nazwę drukarki przeznaczonej do zadań drukowania.
  6. PaperMargins: Określa marginesy do drukowania w milimetrach.
  7. Grayscale: Wartość boolean określająca, czy drukować w skali szarości. Domyślną wartością jest false.

Teraz spójrzmy na przykład kodu:

using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Configure custom print settings
            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 settings
            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 settings
			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
$vbLabelText   $csharpLabel

Wyjaśnienie kodu

  1. Kod zaczyna się od zaimportowania niezbędnego namespace IronPrint, który zawiera wymagane klasy i metody do drukowania.
  2. Wewnątrz przestrzeni nazw IronPrintDemo, znajduje się klasa o nazwie Program zadeklarowana jako publiczna.
  3. Metoda Main służy jako punkt wejścia programu.
  4. W metodzie Main:
    • Obiekt PrintSettings o nazwie printSettings jest utworzony, aby skonfigurować niestandardowe ustawienia druku.
    • Właściwość Dpi obiektu printSettings jest ustawiona na 150, co oznacza rozdzielczość wydruku 150 punktów na cal.
    • Właściwość NumberOfCopies obiektu printSettings jest ustawiona na 2, co oznacza, że zostaną wydrukowane dwie identyczne kopie dokumentu.
    • Właściwość PaperOrientation obiektu printSettings jest ustawiona na PaperOrientation.Portrait, co wskazuje, że dokument zostanie wydrukowany w orientacji pionowej.
  5. Na koniec, metoda Printer.Print jest wywołana z parametrami "sample.pdf" (nazwa dokumentu do wydrukowania) i printSettings (niestandardowe ustawienia druku). Ta metoda obsługuje proces drukowania z użyciem określonych ustawień.

Wynik

Jak drukować z drukarką sieciową w C#: Rysunek 9 - Przykładowy wynik pokazujący dodanie dokumentu PDF do kolejki druku

Licencja

IronPrint od Iron Software jest biblioteką dla przedsiębiorstw i wymaga licencji do działania. Dodanie klucza licencyjnego IronPrint sprawia, że projekt działa bez ograniczeń i znaków wodnych. Kup licencję tutaj lub zarejestruj się na bezpłatny 30-dniowy okres próbny tutaj.

Po uzyskaniu klucza licencyjnego należy umieścić klucz w pliku appSettings.json w aplikacji.

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

To umożliwi drukowanie dokumentów bez ograniczeń i znaków wodnych.

Wnioski

Podsumowując, IronPrint i System.Printing, każdy ma swoje mocne strony i są odpowiednie dla różnych scenariuszy. IronPrint zapewnia uproszczone i multiplatformowe rozwiązanie z naciskiem na prostotę i wszechstronność, podczas gdy System.Printing oferuje natywną integrację i drobiazgową kontrolę, szczególnie dla aplikacji opartych na Windows. Deweloperzy powinni rozważyć swoje specyficzne wymagania i docelowe platformy przy wyborze między tymi bibliotekami drukowania dla swoich projektów w C#.

IronPrint upraszcza drukowanie dokumentów w aplikacjach .NET, oferując przyjazne dla użytkownika API i szeroką kompatybilność z różnymi platformami i typami projektów. Postępując zgodnie z instrukcjami przedstawionymi w tym artykule, można bezproblemowo zintegrować funkcjonalność drukowania w projektach .NET, poprawiając ich użyteczność i produktywność. Odkryj możliwości, jakie daje IronPrint i odblokuj świat wydajnego drukowania dokumentów w swoich aplikacjach.

Często Zadawane Pytania

Jak mogę drukować na drukarce sieciowej za pomocą języka C#?

Za pomocą IronPrint można drukować dokumenty na drukarce sieciowej w języku C#. Pozwala to na wysyłanie dokumentów bezpośrednio do drukarki sieciowej za pomocą metod obsługujących zadania drukowania programowo.

Jakie kroki należy wykonać, aby skonfigurować drukowanie na drukarce sieciowej w języku C#?

Najpierw upewnij się, że masz dostęp do drukarki sieciowej i znasz jej adres. Zainstaluj niezbędne sterowniki oraz IronPrint za pomocą menedżera pakietów NuGet. Następnie użyj metod IronPrint do zarządzania i wysyłania zadań drukowania.

Jak zainstalować IronPrint w moim projekcie C#?

Możesz zainstalować IronPrint za pomocą menedżera pakietów NuGet w Visual Studio lub uruchamiając polecenie Install-Package IronPrint w konsoli menedżera pakietów.

Które wersje .NET są kompatybilne z IronPrint?

IronPrint obsługuje języki C#, VB.NET i F# oraz jest kompatybilny z platformami .NET 8, 7, 6, 5 i Core 3.1+.

Czy IronPrint może być używany na różnych systemach operacyjnych?

Tak, IronPrint jest kompatybilny z systemami Windows (7+), macOS (10+), iOS (11+) oraz Android API 21+ (v5 „Lollipop”).

Czym różni się IronPrint od System.Printing w języku C#?

IronPrint oferuje rozwiązanie wielopłatformowe, w którym nacisk kładziony jest na prostotę, podczas gdy System.Printing zapewnia natywną integrację i kontrolę dla aplikacji opartych na systemie Windows.

Jak mogę wyświetlić listę dostępnych drukarek sieciowych za pomocą IronPrint?

W bibliotece IronPrint można użyć metody Printer.GetPrinterNames(), która zwraca listę dostępnych sterowników drukarek.

Jakie zaawansowane opcje drukowania są dostępne w IronPrint?

IronPrint obsługuje zaawansowane ustawienia, w tym PaperSize, PaperOrientation, DPI, NumberOfCopies, PrinterName, PaperMargins i Grayscałe.

Jakie opcje licencyjne są dostępne dla IronPrint?

Licencje IronPrint można kupić lub zarejestrować się na 30-dniowy okres próbny na stronie internetowej Iron Software. Klucz licencyjny umieszcza się w pliku appSettings.json aplikacji.

Jakiego polecenia używa się do zainstalowania IronPrint z poziomu wiersza poleceń?

Aby zainstalować IronPrint za pomocą wiersza poleceń, należy użyć polecenia Install-Package IronPrint.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie