Klasa PrintSettings w IronPrint daje programistom bezpośrednią kontrolę nad rozmiarem papieru poprzez właściwość PaperSize. Przypisujemy wartość z wyliczenia PaperSize — na przykład PaperSize.A4 lub PaperSize.Letter — i przekazujemy skonfigurowany obiekt PrintSettings do dowolnej metody drukowania IronPrint. Drukarka wykorzystuje następnie dokładnie ten rozmiar papieru do wykonania zadania.
W niniejszym przewodniku omówiono ustawianie standardowych rozmiarów papieru, łączenie rozmiaru z innymi ustawieniami drukowania oraz drukowanie asynchroniczne — wszystko to z wykorzystaniem działającego kodu w języku C#.
Szybki start: Ustaw rozmiar papieru
Zainstaluj IronPrint za pomocą NuGet: Install-Package IronPrint
Dodaj using IronPrint; do pliku
Utwórz obiekt PrintSettings
Ustaw PaperSize na dowolną wartość z wyliczenia PaperSize (np. PaperSize.A4)
Przekaż ustawienia do Printer.Print() lub Printer.PrintAsync()
Uruchom projekt, aby wydrukować na wybranym formacie papieru
Jak ustawić rozmiar papieru podczas drukowania w języku C#?
Rozmiar papieru ustalamy, przypisując wartość z wyliczenia PaperSize do właściwości PaperSize obiektu PrintSettings. Następnie przekazujemy ten obiekt do dowolnej metody drukowania IronPrint.
using IronPrint;
// Configure print settings with US Letter paper
PrintSettings settings = new PrintSettings();
settings.PaperSize = PaperSize.Letter;
// Print to the default printer
Printer.Print("invoice.pdf", settings);
Imports IronPrint
' Configure print settings with US Letter paper
Dim settings As New PrintSettings()
settings.PaperSize = PaperSize.Letter
' Print to the default printer
Printer.Print("invoice.pdf", settings)
$vbLabelText $csharpLabel
Najpierw instancjonujemy PrintSettings, co powoduje zainicjowanie go z ustawieniami domyślnymi drukarki. Następnie zastępujemy PaperSize przez PaperSize.Letter, co odpowiada standardowemu formatowi 8,5 × 11 cali. Kiedy wywołujemy Printer.Print, IronPrint wysyła dokument do domyślnej drukarki systemu, używając tego rozmiaru papieru.
Jeśli nie określono PaperSize, IronPrint używa PaperSize.PrinterDefault, co powoduje zastosowanie rozmiaru papieru, na jaki skonfigurowana jest domyślna drukarka systemu operacyjnego. Jest to istotny szczegół w środowiskach produkcyjnych, gdzie konfiguracje drukarek różnią się w zależności od urządzenia.
Jakie rozmiary papieru obsługuje biblioteka?
Wyliczenie PaperSize zawiera dwanaście wartości obejmujących międzynarodowe normy ISO, popularne rozmiary stosowane w USA oraz ustawienie domyślne drukarki. W poniższej tabeli wymieniono wszystkie dostępne opcje.
Wartość wyliczeniowa
Standardowy
Wymiary (mm)
Wymiary (w całach)
PaperSize.A0
ISO A0
841 × 1189
33,1 × 46,8
PaperSize.A1
ISO A1
594 × 841
23,4 × 33,1
PaperSize.A2
ISO A2
420 × 594
16,5 × 23,4
PaperSize.A3
ISO A3
297 × 420
11,7 × 16,5
PaperSize.A4
ISO A4
210 × 297
8,3 × 11,7
PaperSize.A5
ISO A5
148 × 210
5,8 × 8,3
PaperSize.B4
ISO B4
250 × 353
9,8 × 13,9
PaperSize.B5
ISO B5
176 × 250
6,9 × 9,8
PaperSize.Letter
US Letter
216 × 279
8,5 × 11,0
PaperSize.Legal
Prawo amerykańskie
216 × 356
8,5 × 14,0
PaperSize.Executive
Kierownictwo w USA
184 × 267
7,25 × 10,5
PaperSize.PrinterDefault
Domyślna drukarka
Różne
Różne
Każda wartość odpowiada bezpośrednio znanemu standardowi papieru. Opcja PrinterDefault nakazuje IronPrint użycie rozmiaru, na który drukarka jest aktualnie skonfigurowana — przydatne, gdy chcesz uszanować preferencje użytkownika końcowego dotyczące drukarki, zamiast narzucać konkretny format.
Jak połączyć rozmiar papieru z innymi ustawieniami drukowania?
Klasa PrintSettings udostępnia kilka właściwości poza PaperSize. Możemy skonfigurować orientację, rozdzielczość, marginesy, liczbę kopii i tryb skali szarości — wszystko w jednym obiekcie.
using IronPrint;
// Configure full print settings
PrintSettings settings = new PrintSettings
{
PaperSize = PaperSize.A4,
PaperOrientation = PaperOrientation.Landscape,
Dpi = 300,
NumberOfCopies = 3,
PaperMargins = new Margins(15, 15, 15, 15),
Grayscale = false
};
// Print the quarterly report
Printer.Print("quarterly-report.pdf", settings);
Imports IronPrint
' Configure full print settings
Dim settings As New PrintSettings With {
.PaperSize = PaperSize.A4,
.PaperOrientation = PaperOrientation.Landscape,
.Dpi = 300,
.NumberOfCopies = 3,
.PaperMargins = New Margins(15, 15, 15, 15),
.Grayscale = False
}
' Print the quarterly report
Printer.Print("quarterly-report.pdf", settings)
$vbLabelText $csharpLabel
Dla przejrzystości używamy tutaj składni inicjalizatora obiektów. Orientation obraca arkusz A4 wokół jego szerszej osi. DPI przy 300 zapewnia ostry wydruk wykresów i drobnego tekstu. Margins akceptuje cztery wartości w milimetrach — top, right, bottom, left — poprzez konstruktor Margins. Właściwość CopyCount domyślnie ma wartość 1, ale ustawiliśmy ją jawnie dla większej czytelności.
Właściwości te współdziałają ze sobą bez sprzeczności. IronPrint weryfikuje konfigurację i przekazuje połączone ustawienia do sterownika drukarki jako pojedyncze zadanie drukowania. Aby uzyskać informacje na temat bardziej zaawansowanych ustawień, takich jak wybór drukarki i konfiguracja podajnika, zapoznaj się z pełnym przewodnikiem po ustawieniach drukowania.
Jak drukować asynchronicznie przy użyciu niestandardowego rozmiaru papieru?
W przypadku aplikacji, w których blokowanie głównego wątku nie wchodzi w grę — takich jak aplikacje WPF lub WinForms — używamy Printer.PrintAsync. Metoda przyjmuje ten sam obiekt PrintSettings i zwraca Task.
using IronPrint;
using System.Threading.Tasks;
public class DocumentPrinter
{
public async Task PrintLegalDocumentAsync(string filePath)
{
// Configure Legal paper size
PrintSettings settings = new PrintSettings
{
PaperSize = PaperSize.Legal,
PaperOrientation = PaperOrientation.Portrait,
Dpi = 300
};
// Print asynchronously
await Printer.PrintAsync(filePath, settings);
}
}
Imports IronPrint
Imports System.Threading.Tasks
Public Class DocumentPrinter
Public Async Function PrintLegalDocumentAsync(filePath As String) As Task
' Configure Legal paper size
Dim settings As New PrintSettings With {
.PaperSize = PaperSize.Legal,
.PaperOrientation = PaperOrientation.Portrait,
.Dpi = 300
}
' Print asynchronously
Await Printer.PrintAsync(filePath, settings)
End Function
End Class
$vbLabelText $csharpLabel
Ten przykład oparty na klasach ilustruje realistyczny wzorzec, w którym usługa DocumentPrinter otacza logikę PRINT. Konfigurujemy PaperSize.Legal (8,5 × 14 cali), co jest standardowym formatem dla umów i dokumentów prawnych. Słowo kluczowe await zapewnia, że wątek wywołujący pozostaje responsywny podczas przetwarzania zadania drukowania przez IronPrint.
Możemy wywołać tę metodę z procedury obsługi kliknięcia przycisku, usługi działającej w tle lub z dowolnego miejsca, w którym obsługiwane jest await. Metody asynchroniczne IronPrint — w tym PrintAsync i ShowPrintDialogAsync — akceptują tę samą konfigurację PrintSettings, więc zachowanie rozmiaru papieru jest identyczne w ścieżkach synchronicznych i asynchronicznych.
Jakie są moje kolejne kroki?
Omówiliśmy, jak ustawić rozmiar papieru w języku C# przy użyciu wyliczenia PaperSize biblioteki IronPrint, od podstawowej konfiguracji z jedną właściwością po ustawienia łączone i drukowanie asynchroniczne. Klasa PrintSettings zapewnia przejrzysty, silnie typowany interfejs API, który eliminuje domysły dotyczące wymiarów papieru.
Czym jest IronPrint i jak pomaga w ustawianiu rozmiaru papieru do drukowania w C#?
IronPrint to biblioteka, która upraszcza zadania drukowania w C#. Umożliwia programistom łatwe konfigurowanie rozmiarów papieru, takich jak A4, Letter i Legal, korzystając z prostych przykładów kodu.
Czy mogę ustawić niestandardowe rozmiary papieru, używając IronPrint w C#?
Tak, IronPrint umożliwia ustawienie niestandardowych rozmiarów papieru do drukowania w C#. Można zdefiniować wymiary, które spełniają określone wymagania drukowania.
Jak zmienić rozmiar papieru na A4, korzystając z IronPrint?
Aby zmienić rozmiar papieru na A4, używając IronPrint, należy skonfigurować ustawienia rozmiaru papieru w kodzie. IronPrint zapewnia prostą metodę ustawiania rozmiaru papieru na A4 przy minimalnym wysiłku programistycznym.
Czy IronPrint obsługuje konfigurację rozmiaru papieru Legal?
Tak, IronPrint obsługuje konfigurację rozmiaru papieru Legal w C#. Można łatwo ustawić rozmiar papieru na Legal, dostosowując ustawienia rozmiaru papieru w kodzie ustawień wydruku.
Czy można przełączać się między różnymi rozmiarami papieru, używając IronPrint?
Oczywiście, IronPrint pozwala na przełączanie się między różnymi rozmiarami papieru, jak A4, Letter i Legal, poprzez modyfikację ustawień rozmiaru papieru w aplikacji C#.