# Jak drukować za pomocą okna dialogowego w języku C#
[IronPrint](https://ironsoftware.com/csharp/print/) oferuje `Printer.ShowPrintDialog()`: jedna metoda otwierająca rodzime okno dialogowe druku systemu operacyjnego, przechwytuje wybory użytkownika dotyczące drukarki i papieru, oraz wysyła dokument do kolejki druku. Zainstaluj jeden pakiet NuGet i napisz jedną linię kodu.
Okno dialogowe drukowania to standardowe okno systemu operacyjnego, które pozwala użytkownikom wybrać drukarkę, ustawić kopie, wybrać zakres stron i dostosować opcje papieru przed podjęciem decyzji o druku. Aplikacje desktopowe, które muszą dać użytkownikom tę kontrolę przed każdym zadaniem, są głównym przypadkiem użycia.
*as-heading:2(Szybki start: Drukowanie za pomocą okna dialogowego)*
```csharp
:title=Quickstart
using IronPrint;
// Display the print dialog and print the document
Printer.ShowPrintDialog("document.pdf");
```
<div class="hsg-featured-snippet">
<h3>Minimalny proces (5 kroków)</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://nuget.org/packages/IronPrint/">Zainstaluj bibliotekę IronPrint C#</a></li>
<li>Wywołaj <code>Printer.ShowPrintDialog("ścieżka_do_pliku")</code></li>
<li>Użytkownik wybiera drukarkę, liczbę kopii i zakres stron</li>
<li>Kliknij PRINT, aby wysłać dokument do wybranej drukarki</li>
<li>Sprawdź, czy dokument drukuje się z wybranymi ustawieniami PRINT</li>
</ol>
</div>
## Jak działa okno dialogowe PRINT w języku C#?
Metoda [`Printer.ShowPrintDialog()`](https://ironsoftware.com/csharp/print/object-reference/api/IronPrint.Printer.html) otwiera rodzime okno dialogowe druku systemu operacyjnego. Użytkownik widzi pełny zestaw opcji drukowania: wybór drukarki, liczba kopii, zakres stron, orientacja i rozmiar papieru. Klikają Drukuj, aby wysłać zadanie, lub Anuluj, aby zamknąć okno dialogowe bez drukowania.
Pod maską rodzime podejście .NET wymaga utworzenia instancji `System.Windows.Forms.PrintDialog`, powiązania go z [`PrintDocument`](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.printing.printdocument), obsługi zdarzenia `PrintPage` w celu rysowania zawartości na powierzchni graficznej druku, sprawdzenia `DialogResult` i następnie wywołania `PrintDocument.Print()`. Taka konfiguracja zazwyczaj obejmuje 15–25 linii kodu. Nie zawiera również wbudowanego renderowania PDF ani obrazów (drukowanie PDF-a przez natywne okno dialogowe oznacza najpierw parsowanie PDF-a na strony do rysowania, co wymaga jeszcze innej biblioteki).
IronPrint obsługuje cały proces w jednym wywołaniu:
### Dane wejściowe
quarterly-report.pdf przekazany do `ShowPrintDialog`, to stylizowane podsumowanie finansowe korporacji za trzeci kwartał z kartami wskaźników KPI i tabelami przychodów działów, reprezentujące typowy dokument biznesowy wysyłany do okna dialogowego druku.
<iframe loading="lazy" src="/static-assets/print/how-to/print-with-dialog/quarterly-report.pdf" width="100%" height="400px"></iframe>
```cs
using IronPrint;
// Open the print dialog and print
Printer.ShowPrintDialog("quarterly-report.pdf");
```
### Wynik
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/static-assets/print/how-to/print-with-dialog/print-dialogue-output-setting-default.webp" target="_blank"><img src="/static-assets/print/how-to/print-with-dialog/print-dialogue-output-setting-default.webp" alt="Natywne okno dialogowe drukowania otwarte przez ShowPrintDialog" class="img-responsive add-shadow" /></a>
<p class="content__image-caption" style="color: #181818; font-style: italic;">Natywne okno dialogowe drukowania otwarte przez ShowPrintDialog dla raportu kwartalnego.</p>
</div>
</center>
Metoda akceptuje ścieżkę do pliku jako `string` lub surowe dane plikowe jako `byte[]`. IronPrint wykrywa format dokumentu, renderuje go za pomocą odpowiedniego silnika i wyświetla okno dialogowe. Po potwierdzeniu przez użytkownika dokument zostanie wydrukowany zgodnie z wybranymi ustawieniami. [Samouczek](https://ironsoftware.com/csharp/print/tutorials/print-document/) dotyczący [drukowania dokumentów](https://ironsoftware.com/csharp/print/tutorials/print-document/) szczegółowo omawia cały cykl drukowania.
## Jak wstępnie skonfigurować ustawienia okna dialogowego?
Możemy ustawić domyślne wartości przed otwarciem okna dialogowego, tworząc obiekt [`PrintSettings`](https://ironsoftware.com/csharp/print/how-to/print-settings/) i przekazując go jako drugi parametr. Okno dialogowe otworzy się z wstępnie zaznaczonymi wartościami, a użytkownik może je zaakceptować bez zmian lub zmienić dowolne ustawienie.
### Dane wejściowe
invoice.pdf wstępnie załadowany z ustawieniami portretu A4 przy 300 DPI: profesjonalna faktura z pozycjami, rabatem, podatkiem i instrukcjami przelewu bankowego, pokazująca realistyczny dokument, w którym aplikacja już zna wymaganą wielkość papieru i orientację.
<iframe loading="lazy" src="/static-assets/print/how-to/print-with-dialog/invoice.pdf" width="100%" height="400px"></iframe>
```cs
using IronPrint;
// Pre-configure default dialog settings
var settings = new PrintSettings
{
PrinterName = "HP LaserJet Pro",
PaperSize = PaperSize.A4,
PaperOrientation = PaperOrientation.Portrait,
Dpi = 300,
NumberOfCopies = 2,
Grayscale = false
};
// Open the dialog with pre-filled settings
Printer.ShowPrintDialog("invoice.pdf", settings);
```
### Wynik
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/static-assets/print/how-to/print-with-dialog/print-dialogue-output-setting.webp" target="_blank"><img src="/static-assets/print/how-to/print-with-dialog/print-dialogue-output-setting.webp" alt="Okno dialogowe drukowania systemu Windows z wstępnie skonfigurowanymi ustawieniami" class="img-responsive add-shadow" /></a>
<p class="content__image-caption" style="color: #181818; font-style: italic;">Natywne okno dialogowe drukowania otwarte z wstępnie skonfigurowanymi ustawieniami portretu A4.</p>
</div>
</center>
Jest to przydatne, gdy aplikacja z góry zna prawdopodobny format drukarki lub papieru. Na przykład w systemie punktu sprzedaży, który zawsze drukuje paragony na określonej drukarce termicznej, można ustawić domyślnie `PrinterName` na to urządzenie. Użytkownik nadal ma możliwość jego zmiany w oknie dialogowym.
Aby odkryć, które drukarki są dostępne w systemie, wywołujemy <a href="https://ironsoftware.com/csharp/print/examples/print-settings/">`Printer.GetPrinterNames()`</a>, które zwraca `List<string>` wszystkich zainstalowanych drukarek. Podobnie, `Printer.GetPrinterTrays()` zwraca dostępne zasobniki papieru dla danej drukarki.
Pełna lista konfigurowalnych właściwości obejmuje `PrinterName`, `PaperSize`, `PaperOrientation`, `Dpi`, `NumberOfCopies`, `Grayscale`, `PaperMargins`, `Flatten` (dla pól formularzy PDF) i `Tray`. [Poradnik](https://ironsoftware.com/csharp/print/how-to/print-settings/) dotyczący [ustawień drukowania](https://ironsoftware.com/csharp/print/how-to/print-settings/) omawia każdą właściwość wraz z przykładami kodu. Każda właściwość, która nie jest ustawiona w `PrintSettings`, domyślnie przyjmuje standardową konfigurację wybranej drukarki.
## Jak wyświetlić okno dialogowe asynchronicznie?
Metoda [`Printer.ShowPrintDialogAsync()`](https://ironsoftware.com/csharp/print/object-reference/api/IronPrint.Printer.html) zwraca `Task`, co czyni ją kompatybilną z `await`. Zapobiega to blokowaniu kanału UI przez okno dialogowe, co jest kluczowe dla WPF, MAUI oraz każdej aplikacji, w której zamrożony interfejs stwarza złe doświadczenia użytkownika.
### Dane wejściowe
Raport.pdf oczekiwany asynchronicznie: wieloczęściowy raport dotyczący infrastruktury IT i bezpieczeństwa, reprezentujący rodzaj dokumentu z długiej formy, gdzie prezentacja okna dialogowego bez blokowania utrzymuje responsywność interfejsu podczas ładowania pliku.
<iframe loading="lazy" src="/static-assets/print/how-to/print-with-dialog/report.pdf" width="100%" height="400px"></iframe>
```cs
using IronPrint;
// Open the print dialog asynchronously
await Printer.ShowPrintDialogAsync("report.pdf");
```
### Wynik
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/static-assets/print/how-to/print-with-dialog/async-print-dialogue.webp" target="_blank"><img src="/static-assets/print/how-to/print-with-dialog/async-print-dialogue.webp" alt="Asynchroniczne okno dialogowe drukowania otwarte poprzez ShowPrintDialogAsync" class="img-responsive add-shadow" /></a>
<p class="content__image-caption" style="color: #181818; font-style: italic;">Natywne okno dialogowe drukowania otwarte asynchronicznie poprzez ShowPrintDialogAsync, z konsolą potwierdzającą wykonanie bez blokowania.</p>
</div>
</center>
`ShowPrintDialogAsync()` przyjmuje te same parametry co wersja synchroniczna: ścieżkę do pliku lub tablicę bajtów, plus opcjonalny obiekt `PrintSettings`. Wzorzec asynchroniczny opiera się na tym samym [wzorcu asynchronicznym opartym na zadaniach,](https://learn.microsoft.com/en-us/dotnet/standard/asynchronous-programming-patterns/task-based-asynchronous-pattern-tap) który jest stosowany we współczesnym programowaniu w środowisku .NET.
IronPrint działa w aplikacjach WinForms, WPF, MAUI i konsolowych. Wygląd okna dialogowego dostosowuje się do platformy hosta i wersji systemu operacyjnego, dzięki czemu użytkownik zawsze widzi natywne okno drukowania, którego oczekuje.
## Kiedy należy używać drukowania z oknem dialogowym, a kiedy drukowania w tle?
Używaj okna dialogowego, gdy użytkownicy muszą wybrać ustawienia drukarki przed każdym zadaniem; używaj cichego drukowania dla zautomatyzowanych przepływów pracy, gdzie nie jest potrzebna decyzja ludzka.
| Kryteria | Drukuj z oknem dialogowym | Ciche drukowanie |
|---|---|---|
| Interakcja z użytkownikiem | Użytkownik wybiera drukarkę, liczbę kopii, zakres stron | Brak interakcji; prints immediately |
| Najlepsze dla | Aplikacje desktopowe, pojedyncze wydruki, funkcje dla użytkowników | Zadania wsadowe, usługi działające w tle, aplikacje kioskowe |
| Wybór drukarki | Użytkownik dokonuje wyboru w oknie dialogowym |Ustaw programowo przez `PrintSettings`|
| Metoda IronPrint | `Printer.ShowPrintDialog()` | `Printer.Print()` |
| Wariant asynchroniczny | `ShowPrintDialogAsync()` | `PrintAsync()` |
Eksporty raportów, drukowanie faktur i każde zadanie, w którym niewłaściwa drukarka marnuje materiały, są dobrymi kandydatami do okna dialogowego. [Ciche drukowanie](https://ironsoftware.com/csharp/print/how-to/silent-printing/) pasuje do zautomatyzowanych przepływów pracy, gdzie nie jest potrzebna decyzja ludzka między dokumentami.
## Jakie formaty plików obsługuje okno dialogowe PRINT?
`Printer.ShowPrintDialog()` obsługuje te same formaty co cichy druk: PDF, PNG, TIFF, JPEG, GIF, HTML i BMP. Przekazujemy ścieżkę do pliku niezależnie od formatu, a IronPrint zajmuje się renderowaniem i komunikacją z kolejką druku. Dane plikowe jako `byte[]` również są akceptowane, co jest przydatne, gdy dokument jest generowany w pamięci lub pobierany z bazy danych.
### Dane wejściowe
monthly-report.pdf odczytany do `byte[]`, reprezentuje dokument pobrany z bazy danych lub wygenerowany w pamięci przed wysłaniem do okna dialogowego.
<iframe loading="lazy" src="/static-assets/print/how-to/print-with-dialog/monthly-report.pdf" width="100%" height="400px"></iframe>
```cs
using IronPrint;
// Print an image with the dialog
Printer.ShowPrintDialog("product-photo.png");
// Print from a byte array
byte[] reportData = File.ReadAllBytes("monthly-report.pdf");
Printer.ShowPrintDialog(reportData);
```
### Wynik
Okno dialogowe otwiera się, jak widać w powyższych przykładach. Wykrywanie formatu jest automatyczne: bez względu na to, czy przekazujemy ścieżkę do pliku, czy `byte[]`, IronPrint renderuje dokument i prezentuje to samo rodzime okno dialogowe.
[Strona z przykładami kodu](https://ironsoftware.com/csharp/print/examples/print-with-dialog/) przedstawia dodatkowe scenariusze specyficzne dla poszczególnych formatów. Dla specyficznych przepływów pracy z PDF-ami (generowanie PDF-a i drukowanie go natychmiast), [IronPDF](https://ironpdf.com) naturalnie współpracuje z IronPrint.
## Kolejne kroki
Drukowanie z oknem dialogowym sprowadza się do dwóch metod: `Printer.ShowPrintDialog()` dla wywołań synchronicznych i `Printer.ShowPrintDialogAsync()` dla wykonania nieblokującego. Skonfiguruj domyślne ustawienia z `PrintSettings` i pozwól użytkownikowi je dostosować. Obie metody obsługują wszystkie [formaty dokumentów](https://ironsoftware.com/csharp/print/) IronPrint i działają w projektach WinForms, WPF, MAUI oraz konsolowych.
Zapoznaj się z [samouczkami](https://ironsoftware.com/csharp/print/tutorials/print-document/) [IronPrint](https://ironsoftware.com/csharp/print/tutorials/print-document/), aby uzyskać pełne instrukcje, [Dokumentacją API klasy Printer](https://ironsoftware.com/csharp/print/object-reference/api/IronPrint.Printer.html) zawierającą wszystkie dostępne metody lub [instrukcją](https://ironsoftware.com/csharp/print/how-to/print-settings/) dotyczącą [ustawień drukowania](https://ironsoftware.com/csharp/print/how-to/print-settings/), aby uzyskać informacje na temat zaawansowanej konfiguracji. Lista zmian zawiera informacje o ostatnich ulepszeniach i nowych funkcjach.
[Rozpocznij bezpłatny 30-dniowy okres próbny](https://ironsoftware.com/csharp/print/#trial-license), aby przetestować drukowanie z oknem dialogowym w rzeczywistym projekcie, bez wymogu posiadania karty kredytowej. Gdy jesteś gotowy do wysyłki, [zobacz opcje licencyjne](https://ironsoftware.com/csharp/print/licensing/), zaczynając od `$liteLicense`.
IronPrint oferuje Printer.ShowPrintDialog(): jedna metoda otwierająca rodzime okno dialogowe druku systemu operacyjnego, przechwytuje wybory użytkownika dotyczące drukarki i papieru, oraz wysyła dokument do kolejki druku. Zainstaluj jeden pakiet NuGet i napisz jedną linię kodu.
Okno dialogowe drukowania to standardowe okno systemu operacyjnego, które pozwala użytkownikom wybrać drukarkę, ustawić kopie, wybrać zakres stron i dostosować opcje papieru przed podjęciem decyzji o druku. Aplikacje desktopowe, które muszą dać użytkownikom tę kontrolę przed każdym zadaniem, są głównym przypadkiem użycia.
Szybki start: Drukowanie za pomocą okna dialogowego
1Install IronPrint with NuGet Package Manager
PM > Install-Package IronPrint
Install-Package IronPrint
2Skopiuj i uruchom ten fragment kodu.
using IronPrint;// Display the print dialog and print the documentPrinter.ShowPrintDialog("document.pdf");
using IronPrint;
// Display the print dialog and print the document
Printer.ShowPrintDialog("document.pdf");
C#
3Wdrożenie do testowania w środowisku produkcyjnym
Użytkownik wybiera drukarkę, liczbę kopii i zakres stron
Kliknij PRINT, aby wysłać dokument do wybranej drukarki
Sprawdź, czy dokument drukuje się z wybranymi ustawieniami PRINT
Jak działa okno dialogowe PRINT w języku C#?
Metoda Printer.ShowPrintDialog() otwiera rodzime okno dialogowe druku systemu operacyjnego. Użytkownik widzi pełny zestaw opcji drukowania: wybór drukarki, liczba kopii, zakres stron, orientacja i rozmiar papieru. Klikają Drukuj, aby wysłać zadanie, lub Anuluj, aby zamknąć okno dialogowe bez drukowania.
Pod maską rodzime podejście .NET wymaga utworzenia instancji System.Windows.Forms.PrintDialog, powiązania go z PrintDocument, obsługi zdarzenia PrintPage w celu rysowania zawartości na powierzchni graficznej druku, sprawdzenia DialogResult i następnie wywołania PrintDocument.Print(). Taka konfiguracja zazwyczaj obejmuje 15–25 linii kodu. Nie zawiera również wbudowanego renderowania PDF ani obrazów (drukowanie PDF-a przez natywne okno dialogowe oznacza najpierw parsowanie PDF-a na strony do rysowania, co wymaga jeszcze innej biblioteki).
IronPrint obsługuje cały proces w jednym wywołaniu:
Dane wejściowe
quarterly-report.pdf przekazany do ShowPrintDialog, to stylizowane podsumowanie finansowe korporacji za trzeci kwartał z kartami wskaźników KPI i tabelami przychodów działów, reprezentujące typowy dokument biznesowy wysyłany do okna dialogowego druku.
using IronPrint;// Open the print dialog and printPrinter.ShowPrintDialog("quarterly-report.pdf");
using IronPrint;
// Open the print dialog and print
Printer.ShowPrintDialog("quarterly-report.pdf");
ImportsIronPrint' Open the print dialog and printPrinter.ShowPrintDialog("quarterly-report.pdf")
Imports IronPrint
' Open the print dialog and print
Printer.ShowPrintDialog("quarterly-report.pdf")
Wynik
Natywne okno dialogowe drukowania otwarte przez ShowPrintDialog dla raportu kwartalnego.
Metoda akceptuje ścieżkę do pliku jako string lub surowe dane plikowe jako byte[]. IronPrint wykrywa format dokumentu, renderuje go za pomocą odpowiedniego silnika i wyświetla okno dialogowe. Po potwierdzeniu przez użytkownika dokument zostanie wydrukowany zgodnie z wybranymi ustawieniami. Samouczek dotyczący drukowania dokumentów szczegółowo omawia cały cykl drukowania.
Jak wstępnie skonfigurować ustawienia okna dialogowego?
Możemy ustawić domyślne wartości przed otwarciem okna dialogowego, tworząc obiekt PrintSettings i przekazując go jako drugi parametr. Okno dialogowe otworzy się z wstępnie zaznaczonymi wartościami, a użytkownik może je zaakceptować bez zmian lub zmienić dowolne ustawienie.
Dane wejściowe
invoice.pdf wstępnie załadowany z ustawieniami portretu A4 przy 300 DPI: profesjonalna faktura z pozycjami, rabatem, podatkiem i instrukcjami przelewu bankowego, pokazująca realistyczny dokument, w którym aplikacja już zna wymaganą wielkość papieru i orientację.
using IronPrint;// Pre-configure default dialog settingsvar settings = new PrintSettings{PrinterName = "HP LaserJet Pro",PaperSize = PaperSize.A4,PaperOrientation = PaperOrientation.Portrait,Dpi = 300,NumberOfCopies = 2,Grayscale = false};// Open the dialog with pre-filled settingsPrinter.ShowPrintDialog("invoice.pdf", settings);
using IronPrint;
// Pre-configure default dialog settings
var settings = new PrintSettings
{
PrinterName = "HP LaserJet Pro",
PaperSize = PaperSize.A4,
PaperOrientation = PaperOrientation.Portrait,
Dpi = 300,
NumberOfCopies = 2,
Grayscale = false
};
// Open the dialog with pre-filled settings
Printer.ShowPrintDialog("invoice.pdf", settings);
ImportsIronPrint' Pre-configure default dialog settingsDim settings As New PrintSettingsWith { .PrinterName = "HP LaserJet Pro", .PaperSize = PaperSize.A4, .PaperOrientation = PaperOrientation.Portrait, .Dpi = 300, .NumberOfCopies = 2, .Grayscale = False}' Open the dialog with pre-filled settingsPrinter.ShowPrintDialog("invoice.pdf", settings)
Imports IronPrint
' Pre-configure default dialog settings
Dim settings As New PrintSettings With {
.PrinterName = "HP LaserJet Pro",
.PaperSize = PaperSize.A4,
.PaperOrientation = PaperOrientation.Portrait,
.Dpi = 300,
.NumberOfCopies = 2,
.Grayscale = False
}
' Open the dialog with pre-filled settings
Printer.ShowPrintDialog("invoice.pdf", settings)
Jest to przydatne, gdy aplikacja z góry zna prawdopodobny format drukarki lub papieru. Na przykład w systemie punktu sprzedaży, który zawsze drukuje paragony na określonej drukarce termicznej, można ustawić domyślnie PrinterName na to urządzenie. Użytkownik nadal ma możliwość jego zmiany w oknie dialogowym.
Aby odkryć, które drukarki są dostępne w systemie, wywołujemy Printer.GetPrinterNames(), które zwraca List<string> wszystkich zainstalowanych drukarek. Podobnie, Printer.GetPrinterTrays() zwraca dostępne zasobniki papieru dla danej drukarki.
Pełna lista konfigurowalnych właściwości obejmuje PrinterName, PaperSize, PaperOrientation, Dpi, NumberOfCopies, Grayscale, PaperMargins, Flatten (dla pól formularzy PDF) i Tray. Poradnik dotyczący ustawień drukowania omawia każdą właściwość wraz z przykładami kodu. Każda właściwość, która nie jest ustawiona w PrintSettings, domyślnie przyjmuje standardową konfigurację wybranej drukarki.
Jak wyświetlić okno dialogowe asynchronicznie?
Metoda Printer.ShowPrintDialogAsync() zwraca Task, co czyni ją kompatybilną z await. Zapobiega to blokowaniu kanału UI przez okno dialogowe, co jest kluczowe dla WPF, MAUI oraz każdej aplikacji, w której zamrożony interfejs stwarza złe doświadczenia użytkownika.
Dane wejściowe
Raport.pdf oczekiwany asynchronicznie: wieloczęściowy raport dotyczący infrastruktury IT i bezpieczeństwa, reprezentujący rodzaj dokumentu z długiej formy, gdzie prezentacja okna dialogowego bez blokowania utrzymuje responsywność interfejsu podczas ładowania pliku.
using IronPrint;// Open the print dialog asynchronouslyawaitPrinter.ShowPrintDialogAsync("report.pdf");
using IronPrint;
// Open the print dialog asynchronously
await Printer.ShowPrintDialogAsync("report.pdf");
ImportsIronPrint' Open the print dialog asynchronouslyAwaitPrinter.ShowPrintDialogAsync("report.pdf")
Imports IronPrint
' Open the print dialog asynchronously
Await Printer.ShowPrintDialogAsync("report.pdf")
Wynik
Natywne okno dialogowe drukowania otwarte asynchronicznie poprzez ShowPrintDialogAsync, z konsolą potwierdzającą wykonanie bez blokowania.
ShowPrintDialogAsync() przyjmuje te same parametry co wersja synchroniczna: ścieżkę do pliku lub tablicę bajtów, plus opcjonalny obiekt PrintSettings. Wzorzec asynchroniczny opiera się na tym samym wzorcu asynchronicznym opartym na zadaniach, który jest stosowany we współczesnym programowaniu w środowisku .NET.
IronPrint działa w aplikacjach WinForms, WPF, MAUI i konsolowych. Wygląd okna dialogowego dostosowuje się do platformy hosta i wersji systemu operacyjnego, dzięki czemu użytkownik zawsze widzi natywne okno drukowania, którego oczekuje.
Kiedy należy używać drukowania z oknem dialogowym, a kiedy drukowania w tle?
Używaj okna dialogowego, gdy użytkownicy muszą wybrać ustawienia drukarki przed każdym zadaniem; używaj cichego drukowania dla zautomatyzowanych przepływów pracy, gdzie nie jest potrzebna decyzja ludzka.
Kryteria
Drukuj z oknem dialogowym
Ciche drukowanie
Interakcja z użytkownikiem
Użytkownik wybiera drukarkę, liczbę kopii, zakres stron
Brak interakcji; prints immediately
Najlepsze dla
Aplikacje desktopowe, pojedyncze wydruki, funkcje dla użytkowników
Zadania wsadowe, usługi działające w tle, aplikacje kioskowe
Wybór drukarki
Użytkownik dokonuje wyboru w oknie dialogowym
Ustaw programowo przez PrintSettings
Metoda IronPrint
Printer.ShowPrintDialog()
Printer.Print()
Wariant asynchroniczny
ShowPrintDialogAsync()
PrintAsync()
Eksporty raportów, drukowanie faktur i każde zadanie, w którym niewłaściwa drukarka marnuje materiały, są dobrymi kandydatami do okna dialogowego. Ciche drukowanie pasuje do zautomatyzowanych przepływów pracy, gdzie nie jest potrzebna decyzja ludzka między dokumentami.
Jakie formaty plików obsługuje okno dialogowe PRINT?
Printer.ShowPrintDialog() obsługuje te same formaty co cichy druk: PDF, PNG, TIFF, JPEG, GIF, HTML i BMP. Przekazujemy ścieżkę do pliku niezależnie od formatu, a IronPrint zajmuje się renderowaniem i komunikacją z kolejką druku. Dane plikowe jako byte[] również są akceptowane, co jest przydatne, gdy dokument jest generowany w pamięci lub pobierany z bazy danych.
Dane wejściowe
monthly-report.pdf odczytany do byte[], reprezentuje dokument pobrany z bazy danych lub wygenerowany w pamięci przed wysłaniem do okna dialogowego.
using IronPrint;// Print an image with the dialogPrinter.ShowPrintDialog("product-photo.png");// Print from a byte arraybyte[] reportData = File.ReadAllBytes("monthly-report.pdf");Printer.ShowPrintDialog(reportData);
using IronPrint;
// Print an image with the dialog
Printer.ShowPrintDialog("product-photo.png");
// Print from a byte array
byte[] reportData = File.ReadAllBytes("monthly-report.pdf");
Printer.ShowPrintDialog(reportData);
ImportsIronPrint' Print an image with the dialogPrinter.ShowPrintDialog("product-photo.png")' Print from a byte arrayDim reportData AsByte() = File.ReadAllBytes("monthly-report.pdf")Printer.ShowPrintDialog(reportData)
Imports IronPrint
' Print an image with the dialog
Printer.ShowPrintDialog("product-photo.png")
' Print from a byte array
Dim reportData As Byte() = File.ReadAllBytes("monthly-report.pdf")
Printer.ShowPrintDialog(reportData)
Wynik
Okno dialogowe otwiera się, jak widać w powyższych przykładach. Wykrywanie formatu jest automatyczne: bez względu na to, czy przekazujemy ścieżkę do pliku, czy byte[], IronPrint renderuje dokument i prezentuje to samo rodzime okno dialogowe.
Strona z przykładami kodu przedstawia dodatkowe scenariusze specyficzne dla poszczególnych formatów. Dla specyficznych przepływów pracy z PDF-ami (generowanie PDF-a i drukowanie go natychmiast), IronPDF naturalnie współpracuje z IronPrint.
Kolejne kroki
Drukowanie z oknem dialogowym sprowadza się do dwóch metod: Printer.ShowPrintDialog() dla wywołań synchronicznych i Printer.ShowPrintDialogAsync() dla wykonania nieblokującego. Skonfiguruj domyślne ustawienia z PrintSettings i pozwól użytkownikowi je dostosować. Obie metody obsługują wszystkie formaty dokumentów IronPrint i działają w projektach WinForms, WPF, MAUI oraz konsolowych.
Zapoznaj się z samouczkamiIronPrint, aby uzyskać pełne instrukcje, Dokumentacją API klasy Printer zawierającą wszystkie dostępne metody lub instrukcją dotyczącą ustawień drukowania, aby uzyskać informacje na temat zaawansowanej konfiguracji. Lista zmian zawiera informacje o ostatnich ulepszeniach i nowych funkcjach.
IronPrint umożliwia programistom wyświetlanie i konfigurację okna dialogowego drukowania w aplikacjach C#, co ułatwia drukowanie plików PDF i obrazów przy użyciu wcześniej skonfigurowanych ustawień.
Jak mogę wyświetlić okno dialogowe drukowania za pomocą IronPrint?
Można wyświetlić okno dialogowe drukowania w aplikacji C# korzystając z metody ShowPrintDialog() IronPrint, która zapewnia interaktywny sposób konfigurowania ustawień drukowania.
Czy IronPrint wspiera drukowanie asynchroniczne?
Tak, IronPrint obsługuje asynchroniczne drukowanie, co pozwala na utrzymanie aplikacji responsywnej podczas obsługi zadań drukowania.
Czy mogę wstępnie skonfigurować ustawienia drukowania w IronPrint?
Tak, IronPrint umożliwia wstępną konfigurację ustawień drukowania, takich jak rozmiar papieru, orientacja i wybór drukarki przed wyświetleniem okna dialogowego drukowania.
Czy można drukować obrazy za pomocą IronPrint?
IronPrint obsługuje drukowanie zarówno plików PDF, jak i obrazów, zapewniając elastyczność dla różnych typów dokumentów w aplikacji C#.
Jak IronPrint poprawia doświadczenie z oknem dialogowym drukowania w C#?
IronPrint poprawia doświadczenie z oknem dialogowym drukowania, pozwalając programistom na łatwe dostosowanie i konfigurację ustawień drukowania, wspierając operacje synchroniczne i asynchroniczne.
Jakie typy dokumentów mogę drukować za pomocą IronPrint?
Za pomocą IronPrint można drukować różnorodne dokumenty, w tym pliki PDF i obrazy, bezpośrednio z aplikacji C#.
Czy IronPrint można zintegrować z istniejącymi aplikacjami C#?
Tak, IronPrint został zaprojektowany w taki sposób, aby można go było łatwo zintegrować z istniejącymi aplikacjami C#, oferując prosty sposób dodawania funkcji okna dialogowego drukowania.
Jakie korzyści oferuje IronPrint programistom C#?
IronPrint oferuje zalety takie jak łatwa integracja, dostosowywalne ustawienia drukowania, wsparcie dla drukowania asynchronicznego oraz możliwość drukowania plików PDF i obrazów.
Jak IronPrint obsługuje różne konfiguracje drukarek?
IronPrint pozwala na konfigurację różnych ustawień drukarki, zapewniając kompatybilność z różnymi drukarkami i dostosowanie do specyficznych potrzeb drukowania.
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ęczników.