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
- Utwórz nowy projekt do drukowania dokumentów używając IronPrint.
- Install IronPrint to a new project.
- Lista dostępnych drukarek sieciowych do drukowania dokumentów.
- Drukuj dokumenty PDF używając IronPrint.
- Drukuj dokumenty PDF używając IronPrint z dialogiem.
- 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:
- Upewnij się, że drukarka sieciowa jest dostępna z maszyny, na której będzie uruchamiana aplikacja C#.
- Adres sieciowy drukarki (adres IP lub nazwa drukarki sieciowej).
- Konieczne sterowniki drukarki zainstalowane na maszynie.
- 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:
- 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.
- 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
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:
PrintQueue: Reprezentuje drukarkę lub urządzenie drukujące podłączone do systemu.PrintServer: Reprezentuje serwer drukowania w sieci.PrintSystemJobInfo: Dostarcza informacji o zadaniu wydruku, takich jak jego status i właściwości.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:
PrintQueueSeleckcja: Musisz zidentyfikować obiektPrintQueue, który reprezentuje drukarkę, której chcesz użyć do drukowania.PrintTicketKonfiguracja: Opcjonalnie, możesz skonfigurować obiektPrintTicket, aby określić ustawienia druku, takie jak rozmiar papieru, orientację i liczba kopii.- 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
IronPrint vs 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.

Podaj nazwe projektu i lokalizacje.

Wybierz 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.

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
Wyjaśnienie kodu
- Użyj
Printer.GetPrinterNames, aby uzyskać wszystkie dostępne sterowniki drukarki. - Wydrukuj nazwy, używając
Console.WriteLine.
Wynik

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
Po zakończeniu wykonania dokument zostanie dodany do kolejki drukowania, jak pokazano w wyniku.
Wynik

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
Wyjaśnienie kodu
- Używając
ShowPrintDialogz IronPrint, możemy drukować z oknem dialogowym. - Po otwarciu dialogu wybierz wymaganą drukarkę, aby wydrukować dokument.
Wynik

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:
PaperSize: Określa wymiary papieru używane przez drukarkę.PaperOrientation: Definiuje orientację papieru, taką jak automatyczna, pionowa lub pozioma.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.NumberOfCopies: Wskazuje liczbę identycznych kopii do wydrukowania dla dokumentu.PrinterName: Określa nazwę drukarki przeznaczonej do zadań drukowania.PaperMargins: Określa marginesy do drukowania w milimetrach.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
Wyjaśnienie kodu
- Kod zaczyna się od zaimportowania niezbędnego namespace IronPrint, który zawiera wymagane klasy i metody do drukowania.
- Wewnątrz przestrzeni nazw
IronPrintDemo, znajduje się klasa o nazwie Program zadeklarowana jako publiczna. - Metoda Main służy jako punkt wejścia programu.
- W metodzie Main:
- Obiekt
PrintSettingso nazwieprintSettingsjest utworzony, aby skonfigurować niestandardowe ustawienia druku. - Właściwość
DpiobiektuprintSettingsjest ustawiona na 150, co oznacza rozdzielczość wydruku 150 punktów na cal. - Właściwość
NumberOfCopiesobiektuprintSettingsjest ustawiona na 2, co oznacza, że zostaną wydrukowane dwie identyczne kopie dokumentu. - Właściwość
PaperOrientationobiektuprintSettingsjest ustawiona naPaperOrientation.Portrait, co wskazuje, że dokument zostanie wydrukowany w orientacji pionowej.
- Obiekt
- Na koniec, metoda
Printer.Printjest wywołana z parametrami "sample.pdf" (nazwa dokumentu do wydrukowania) iprintSettings(niestandardowe ustawienia druku). Ta metoda obsługuje proces drukowania z użyciem określonych ustawień.
Wynik

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.



