Jak wydrukować plik na drukarce w języku C#
Drukowanie plików PDF bezpośrednio z aplikacji C# może być cenną cechą, szczególnie przy rozwijaniu aplikacji, które wymagają bezproblemowej integracji z fizycznymi dokumentami PDF. Niezależnie od tego, czy pracujesz nad systemem zarządzania dokumentami PDF, aplikacją POS, czy innym oprogramowaniem zajmującym się drukowaniem, C# dostarcza bogaty zestaw bibliotek do ułatwienia tej funkcjonalności metody drukowania PDF.
W tym celu, Microsoft C# zapewnia metodę drukowania do drukowania plików PDF na drukarce domyślnej. W tym artykule omówimy kroki dotyczące drukowania pliku PDF na drukarce przy pomocy C#.
Jak drukować plik na drukarce w C
- Stwórz aplikację Windows Forms w C#
- Importuj System.Drawing.Printing używając słowa kluczowego
- Zaprojektuj formularz z przyciskiem i innymi potrzebnymi kontrolkami
- Obsługa zdarzenia PrintDocument za pomocą zdarzenia PrintPage
- Rozpocznij zadanie drukowania Print
- Uruchom aplikację i kliknij przycisk Drukuj, aby wydrukować
Wymagania wstępne
Przed rozpoczęciem upewnij się, że spełniasz następujące wymagania wstępne:
- Środowisko programistyczne C# (np. Visual Studio).
- Odpowiednie uprawnienia do interakcji z drukarkami.
- Podstawowa znajomość programowania w C#.
Krok 1: Konfigurowanie Projektu
Utwórz nowy projekt C# lub otwórz istniejący w preferowanym środowisku programistycznym. Upewnij się, że projekt jest poprawnie skonfigurowany i masz niezbędne uprawnienia do interakcji z drukarką. Następujący proces pozwala na zakończenie tego procesu:
Install Visual Studio
Jeśli nie masz zainstalowanego Visual Studio, pobierz i zainstaluj je z oficjalnej strony: Visual Studio.
Utwórz nowy projekt
- Otwórz program Visual Studio.
- Kliknij na "Utwórz nowy projekt".

Wybierz Szablon Projektu
- W oknie dialogowym "Utwórz nowy projekt" wybierz "Windows Forms App (.NET Framework)" lub "Windows Forms App (.NET Core)" w zależności od preferencji.

- Podaj nazwę i lokalizację dla projektu.

- Kliknij Dalej, a na ekranie dodatkowych informacji wybierz .NET Framework i kliknij "Utwórz".
Zaprojektuj Formularz
- Po utworzeniu projektu główny formularz zostanie wyświetlony w projektancie.
- Użyj paska narzędzi, aby dodać kontrolki, takie jak przyciski, pola tekstowe, etykiety itp., do formularza zgodnie z wymaganiami.
- Dostosuj właściwości każdej kontrolki korzystając z okna właściwości.

- Dostosuj wygląd i układ formularza.

Krok 2: Importowanie Wymaganych Bibliotek
W pliku kodu C# zaimportuj niezbędne przestrzenie nazw, aby uzyskać dostęp do klas i metod związanych z drukowaniem.
using System.Drawing.Printing;
using System.Drawing.Printing;
Imports System.Drawing.Printing
Te przestrzenie nazw zapewniają kluczowe klasy, takie jak PrintDocument, PrintPageEventArgs i PrintController do obsługi operacji drukowania.
Krok 3: Obsługa Zdarzenia PrintDocument
Klasa PrintDocument jest kluczowym elementem drukowania w C#. Obsłuż jej zdarzenie PrintPage, aby zdefiniować, jaka treść ma być drukowana i w jakim formacie. Zacznijmy od prostego przykładu drukowania zawartości pliku tekstowego:
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
Ten przykład odczytuje zawartość pliku tekstowego i drukuje ją używając określonego czcionki i formatowania.
Krok 4: Inicjowanie Zadania Druku
Rozpocznij zadanie drukowania tworząc instancję klasy PrintDocument, dołączając obsługę zdarzenia PrintPage i uruchamiając proces drukowania. Opcjonalnie, możesz wyświetlić okno dialogowe drukowania dla konfiguracji przez użytkownika:
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
Ten kod tworzy instancję PrintDocument, dołącza obsługę zdarzenia PrintPage i drukuje dokument. Opcjonalne okno dialogowe drukowania pozwala użytkownikom na skonfigurowanie ustawień drukowania przed rozpoczęciem zadania druku. Drukuje to dokument tekstowy na lokalnie podłączonej drukarce. Jeśli nie jest obecny, plik jest drukowany na domyślnej nazwie drukarki (Microsoft Print to PDF) w oknie dialogowym Drukuj, jak pokazano poniżej:

Zaawansowanie drukowanie w C# przez bibliotekę IronPrint
Jeśli chodzi o efektywne i skuteczne obsługiwanie funkcji drukowania w aplikacjach konsolowych C#, biblioteka IronPrint oferuje potężne rozwiązanie.
Wprowadzenie do IronPrint
IronPrint to kompleksowa biblioteka do drukowania opracowana przez Iron Software, zaprojektowana do bezproblemowej integracji z aplikacjami .NET. Niezależnie od tego, czy pracujesz nad projektem na desktop, web, czy mobilnym, IronPrint oferuje wszechstronne możliwości drukowania dokumentów PDF, obsługując różne formaty plików i zapewniając dostosowywalne ustawienia drukowania.

Najważniejsze cechy
- Wsparcie Formatu: IronPrint obsługuje różne formaty dokumentów, w tym PDF, PNG, TIFF, GIF, JPEG i BITMAP. Ta wszechstronność zapewnia, że programiści mogą pracować z różnymi typami treści do drukowania.
- Dostosowywalne Ustawienia: Programiści mogą dostosowywać ustawienia drukowania zgodnie z wymaganiami ich aplikacji. Obejmuje to opcje ustawiania DPI (punktów na cal), określania orientacji papieru (pionowej lub poziomej) oraz kontrolowania liczby kopii.
- Okno dialogowe drukowania: IronPrint zapewnia płynne działanie, umożliwiając programistom wyświetlenie okna dialogowego przed drukowaniem. Może to być przydatne w scenariuszach, w których użytkownicy muszą wchodzić w interakcje z procesem drukowania i wybierać określone opcje.
- Drukowanie w Ciszy: IronPrint oferuje funkcję cichego drukowania, która jest szczególnie korzystna dla automatyzacji i zwiększenia efektywności przepływu pracy. Pozwala to programistom na drukowanie faktur bez interakcji użytkownika, eliminując potrzebę ręcznej interwencji i usprawniając cały proces.
- Kompatybilność Międzyplatformowa: IronPrint przekracza ograniczenia platformy, oferując kompatybilność z różnorodnym zakresem środowisk, w tym Windows (7+), macOS (10+), iOS (11+) i Android API 21+ (v5 "Lollipop"). Bezproblemowo integruje się z różnymi typami projektów, takimi jak Mobile (Xamarin, MAUI & Avalonia), Desktop (WPF, MAUI & Windows Avalonia) oraz Console (App & Library).
- Szerokie Wsparcie Wersji .NET: Niezależnie od tego, czy używasz najnowszej wersji .NET 8, 7, 6, czy Core 3.1+, IronPrint zapewnia wsparcie. Obsługuje również .NET Framework (4.6.2+), zapewniając kompatybilność z różnymi środowiskami deweloperskimi.
Instalacja IronPrint
Przed zanurzeniem się w drukowanie pliku, musisz zainstalować bibliotekę IronPrint. Możesz łatwo to zrobić, korzystając z konsoli menedżera pakietów NuGet:
Install-Package IronPrint
Ta linia poleceń pobierze i zainstaluje bibliotekę IronPrint do twojego projektu C#.
Inicjalizacja IronPrint
Po zainstalowaniu IronPrint musisz ją zainicjalizować w kodzie C#. Zaimportuj przestrzeń nazw IronPrint i ustaw klucz licencyjny, aby zapewnić poprawne działanie:
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
Drukowanie Pliku za pomocą IronPrint
Drukowanie pliku za pomocą IronPrint jest proste. Możesz użyć klasy Printer, określając ścieżkę do pliku w metodzie Print, aby cicho wydrukować PDF:
using IronPrint;
class Program
{
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
{
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
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
Ciche drukowanie ma tę zaletę, że nie potrzebuje żadnej interakcji użytkownika, aby wydrukować PDF, co jest przydatne w sytuacjach, gdzie wymagana jest automatyzacja usprawniająca przepływ pracy. W sytuacjach wymagających interakcji użytkownika, takich jak okno dialogowe przed drukowaniem, można użyć ShowPrintDialog, co pozwala uzyskać ten sam rezultat, ale z dodatkowym krokiem w postaci dialogu.
Chociaż ten przykład pokazuje tylko drukowanie pliku PDF, IronPrint obsługuje również różne formaty plików, w tym PDF, PNG, TIFF, GIF, JPEG, IMAGE i BITMAP.
Dostosowywanie Ustawień Drukowania
IronPrint pozwala na dostosowanie ustawień drukowania zgodnie z wymaganiami twojej aplikacji. Możesz skonfigurować ustawienia, takie jak DPI, liczba kopii, orientacja papieru i inne, używając klasy PrintSettings. Poniższy przykład kodu pomaga w ustawieniu ustawień strony i drukowaniu dokumentów PDF:
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
Tak wygląda wynik:

Jeśli fizyczna drukarka nie jest zainstalowana, używana jest domyślna drukarka do drukowania dokumentów PDF. Aby uzyskać wszystkie dostępne drukarki, możesz również użyć metody GetPrinterNames.
// 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
Aby uzyskać bardziej szczegółowe informacje, odwiedź stronę dokumentacji.
Wnioski
Drukowanie plików w C# jest zadaniem łatwym do wykonania, korzystając z możliwości dostarczonych przez przestrzeń nazw System.Drawing.Printing. Obsługując zdarzenie PrintPage i wykorzystując klasę PrintDocument, możesz dostosować proces drukowania do swoich specyficznych wymagań. Niniejszy przewodnik obejmuje podstawowe kroki w drukowaniu plików z aplikacji C#, oferując solidne podstawy do integracji tej funkcjonalności w swoich projektach.
Dla programistów poszukujących zaawansowanych możliwości, skalowalności i automatyzacji, IronPrint wyróżnia się jako idealne rozwiązanie. Jego intuicyjne API i dodatkowe funkcje przewyższają podstawowe pakiety oferowane przez Microsoft. Podczas głębszego zanurzenia w IronPrint odkrywamy szereg opcji dostosowywania, w tym obsługę różnych typów plików, możliwość włączania obrazów i ulepszania formatowania w celu lepszego dostosowania do specyficznych potrzeb aplikacji.
Integracja IronPrint w aplikacji C# upraszcza proces drukowania plików na drukarce. Dzięki wsparciu dla różnych formatów plików i dostosowywalnym ustawieniom drukowania, IronPrint zapewnia solidne rozwiązanie dla programistów chcących zwiększyć swoje możliwości drukowania. Czy to na projekcie desktopowym, webowym, czy mobilnym, IronPrint upraszcza proces drukowania, czyniąc go cennym dodatkiem do narzędzi .NET. Odkryj korzyści z IronPrint, odwiedzając naszą stronę bezpłatny okres próbny. Pobierz bibliotekę z tego tutaj i doświadcz jej funkcji na własnej skórze!
IronPrint oferuje stronę bezpłatny okres próbny dla uzyskania informacji. Pobierz bibliotekę stąd i wypróbuj ją.
Często Zadawane Pytania
Jak wydrukować plik PDF na drukarce za pomocą języka C#?
Możesz wydrukować plik PDF na drukarce za pomocą języka C#, tworząc aplikację Windows Forms, importując przestrzeń nazw System.Drawing.Printing i obsługując zdarzenie PrintDocument. Aby uzyskać bardziej zaawansowane funkcje, takie jak obsługa różnych formatów plików i konfigurowalne ustawienia drukowania, możesz skorzystać z biblioteki IronPrint firmy Iron Software.
Jakie kroki należy wykonać, aby skonfigurować projekt C# do drukowania?
Aby skonfigurować projekt C# do drukowania, należy najpierw utworzyć nową aplikację Windows Forms w Visual Studio, zaprojektować interfejs formularza i zaimportować przestrzeń nazw System.Drawing.Printing. IronPrint można zintegrować w celu uzyskania rozszerzonych funkcji drukowania, takich jak obsługa wielu formatów i ustawień.
Czy IronPrint obsługuje różne formaty plików do drukowania?
Tak, IronPrint obsługuje szeroki zakres formatów plików, w tym PDF, PNG, HTML, TIFF, GIF, JPEG, IMAGE i BITMAP, co czyni go wszechstronnym wyborem dla programistów potrzebujących drukować różnego rodzaju treści.
Co sprawia, że IronPrint jest solidnym rozwiązaniem do drukowania w aplikacjach C#?
IronPrint oferuje solidne rozwiązania dzięki obsłudze wielu formatów, konfigurowalnym ustawieniom, takim jak DPI i orientacja papieru, oraz kompatybilności międzyplatformowej. Łatwo integruje się również z aplikacjami .NET, zapewniając rozszerzone możliwości drukowania.
Jak dostosować ustawienia drukowania za pomocą IronPrint?
IronPrint pozwala dostosować ustawienia drukowania za pomocą klasy PrintSettings. Można dostosować takie ustawienia, jak rozdzielczość (DPI), liczba kopii i orientacja papieru, aby spełnić konkretne wymagania dotyczące drukowania.
Czy IronPrint jest kompatybilny z różnymi platformami?
Tak, IronPrint jest kompatybilny z wieloma platformami, obsługując środowiska takie jak Windows, macOS, iOS i Android, co pozwala programistom na korzystanie z biblioteki IronPrint w różnych aplikacjach na różnych systemach operacyjnych.
W jaki sposób IronPrint może ulepszyć funkcjonalność drukowania w aplikacji napisanej w języku C#?
IronPrint rozszerza funkcjonalność drukowania, oferując zaawansowane funkcje, takie jak obsługa wielu formatów dokumentów, konfigurowalne ustawienia drukowania oraz płynną integrację z aplikacjami .NET, co usprawnia cały proces drukowania w aplikacjach napisanych w języku C#.
Jak zainicjować zadanie drukowania w języku C# przy użyciu IronPrint?
Aby zainicjować zadanie drukowania w języku C# przy użyciu IronPrint, należy utworzyć instancję klasy PrintDocument, dołączyć procedurę obsługi zdarzenia PrintPage, a następnie użyć metod IronPrint do wykonania zadania drukowania z dowolnymi wymaganymi dostosowaniami.
Co jest potrzebne, aby rozpocząć drukowanie plików w języku C#?
Aby rozpocząć drukowanie plików w języku C#, potrzebne jest środowisko programistyczne, takie jak Visual Studio, uprawnienia dostępu do drukarek oraz podstawowa znajomość programowania w języku C#. Bibliotekę IronPrint można dodać do projektu, aby zapewnić rozszerzone możliwości drukowania.



