Jak ustawić rozmiar papieru do drukowania w języku C

This article was translated from English: Does it need improvement?
Translated
View the article in English

Klasa PrintSettings IronPrint udostępnia deweloperom bezpośrednią kontrolę nad rozmiarem papieru za pomocą właściwości PaperSize. Przypisujemy wartość z wyliczenia PaperSize — na przykład PaperSize.A4 lub PaperSize.Letter — i przekazujemy skonfigurowany obiekt PrintSettings do dowolnej z metod 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

  1. Zainstaluj IronPrint za pomocą NuGet: Install-Package IronPrint
  2. Dodaj using IronPrint; do pliku
  3. Utwórz obiekt PrintSettings
  4. Ustaw PaperSize na dowolną wartość z wyliczenia PaperSize (np. PaperSize.A4)
  5. Przekaż ustawienia do Printer.Print() lub Printer.PrintAsync()
  1. Install IronPrint with NuGet Package Manager

    PM > Install-Package IronPrint
  2. Skopiuj i uruchom ten fragment kodu.

    using IronPrint;
    
    // Print a PDF on A4 paper
    Printer.Print("report.pdf", new PrintSettings
    {
        PaperSize = PaperSize.A4
    });
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPrint w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer

Jak ustawić rozmiar papieru podczas drukowania w języku C#?

Ustawiamy rozmiar papieru, przypisując wartość z wyliczenia PaperSize do właściwości PaperSize na obiekcie PrintSettings. Następnie przekazujemy ten obiekt do dowolnej metody drukowania IronPrint.

:path=/static-assets/print/content-code-examples/how-to/set-paper-size/set-paper-size-set-paper-size.cs
using IronPrint;

// Configure print settings with US Letter paper
PrintSettings settings = new PrintSettings();
settings.PaperSize = PaperSize.Letter;

// Send the document 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

' Send the document to the default printer
Printer.Print("invoice.pdf", settings)
$vbLabelText   $csharpLabel

Najpierw tworzymy PrintSettings, który inicjalizuje się z domyślnymi ustawieniami drukarki. Następnie nadpisujemy PaperSize za pomocą PaperSize.Letter, który odpowiada standardowemu formatowi 8,5 × 11 cali. Kiedy wywołujemy Printer.Print, IronPrint wysyła dokument do domyślnej drukarki systemowej używając tego rozmiaru papieru.

Jeśli nie określono PaperSize, IronPrint używa PaperSize.PrinterDefault, który pozwala na użycie rozmiaru papieru skonfigurowanego w domyślnej drukarce systemowej. 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 standardy ISO, popularne amerykańskie rozmiary oraz domyślny drukarki. W poniższej tabeli wymieniono wszystkie dostępne opcje.

Wartość wyliczeniowa Standardowy Wymiary (mm) Wymiary (w calach)
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 mówi IronPrint, aby używał dowolnego rozmiaru, na który obecnie skonfigurowana jest drukarka — przydatne, gdy chcesz respektować preferencje drukarki użytkownika końcowego, zamiast wymuszać określony format.

Pełny opis API znajduje się w dokumentacji klasy PaperSize.

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.

:path=/static-assets/print/content-code-examples/how-to/set-paper-size/set-paper-size-combined-settings.cs
using IronPrint;

// Build a fully configured print job
PrintSettings settings = new PrintSettings
{
    PaperSize = PaperSize.A4,
    PaperOrientation = PaperOrientation.Landscape,
    Dpi = 300,
    NumberOfCopies = 3,
    PaperMargins = new Margins(15, 15, 15, 15),
    Grayscale = false
};

// Print a multi-page report with these settings
Printer.Print("quarterly-report.pdf", settings);
Imports IronPrint

' Build a fully configured print job
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 a multi-page report with these settings
Printer.Print("quarterly-report.pdf", settings)
$vbLabelText   $csharpLabel

Dla przejrzystości używamy tutaj składni inicjalizatora obiektów. PaperOrientation.Landscape obraca kartkę A4 na jej szerszą oś. Dpi przy 300 zapewnia ostre rezultaty dla wykresów i drobnego tekstu. PaperMargins przyjmuje cztery wartości w milimetrach — górna, prawa, dolna, lewa — przez konstruktor Margins. Właściwość Grayscale domyślnie wynosi false, ale ustawiamy ją jawnie dla 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 aplikacjach, gdzie zablokowanie głównego wątku nie jest opcją — takich jak aplikacje WPF lub WinForms — używamy Printer.PrintAsync. Metoda akceptuje ten sam obiekt PrintSettings i zwraca Task.

:path=/static-assets/print/content-code-examples/how-to/set-paper-size/set-paper-size-async-print.cs
using IronPrint;
using System.Threading.Tasks;

public class DocumentPrinter
{
    public async Task PrintLegalDocumentAsync(string filePath)
    {
        // Configure Legal paper size for contracts and legal documents
        PrintSettings settings = new PrintSettings
        {
            PaperSize = PaperSize.Legal,
            PaperOrientation = PaperOrientation.Portrait,
            Dpi = 300
        };

        // Print without blocking the UI thread
        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 for contracts and legal documents
        Dim settings As New PrintSettings With {
            .PaperSize = PaperSize.Legal,
            .PaperOrientation = PaperOrientation.Portrait,
            .Dpi = 300
        }

        ' Print without blocking the UI thread
        Await Printer.PrintAsync(filePath, settings)
    End Function
End Class
$vbLabelText   $csharpLabel

Ten przykład oparty na klasie pokazuje realistyczny wzorzec, w którym usługa DocumentPrinter opakowuje logikę drukowania. Konfigurujemy PaperSize.Legal (8,5 × 14 cali), co jest standardowym formatem dla umów i wspisów prawnych. Słowo kluczowe await zapewnia, że wywołujący wątek pozostanie responsywny podczas gdy IronPrint przetwarza zadanie drukowania.

Możemy wywołać tę metodę z obsługi zdarzenia kliknięcia przycisku, usługi działającej w tle lub gdziekolwiek obsługiwane jest await. Asynchroniczne metody IronPrint — w tym PrintAsync i ShowPrintDialogAsync — przyjmują tę samą konfigurację PrintSettings, więc zachowanie rozmiaru papieru jest identyczne między ścieżkami synchronicznymi i asynchronicznymi.

Jakie są moje kolejne kroki?

Omówiliśmy, jak ustawić rozmiar papieru w C# używając wyliczenia PaperSize IronPrint, od podstawowego ustawienia jednej właściwości po łączone ustawienia i asynchroniczne drukowanie. Klasa PrintSettings zapewnia czyste, silnie typowane API, które eliminuje zgadywanie w zakresie rozmiarów papieru.

Aby dalej poznawać możliwości IronPrint:

Rozpocznij bezpłatny 30-dniowy okres próbny, aby przetestować konfigurację rozmiaru papieru we własnych projektach, lub zapoznaj się z opcjami licencyjnymi dotyczącymi wdrożenia produkcyjnego.

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
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 38,948 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPrint
uruchom próbkę obserwuj, jak twój dokument trafia do drukarki.