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

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

Orientacja papieru określa, czy dokument zostanie wydrukowany w trybie pionowym (wysokim) czy poziomym (szerokim). Orientacja pionowa sprawdza się w przypadku większości listów, faktur i raportów. Układ poziomy jest lepszym wyborem w przypadku szerokich tabel, arkuszy kalkulacyjnych, pulpitów nawigacyjnych i slajdów prezentacji. Programowe ustawienie orientacji zapewnia spójny wynik niezależnie od domyślnej konfiguracji drukarki użytkownika.

IronPrint eksponuje właściwość PaperOrientation w klasie PrintSettings. Ustawiamy ją na Portrait lub Landscape, przekazujemy ustawienia do Printer.Print(), a dokument drukowany jest w określonym układzie.

Szybki start: Ustaw orientację papieru

  1. Zainstaluj IronPrint przez NuGet: Install-Package IronPrint
  2. Dodaj using IronPrint; do pliku
  3. Utwórz obiekt PrintSettings
  4. Ustaw PaperOrientation na Portrait lub Landscape
  5. Przekaż ustawienia do Printer.Print() lub Printer.ShowPrintDialog()
  1. Install IronPrint with NuGet Package Manager

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

    using IronPrint;
    
    // Print a document in landscape orientation
    Printer.Print("report.pdf", new PrintSettings
    {
        PaperOrientation = PaperOrientation.Landscape
    });
  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ć orientację papieru do druku?

Właściwość PaperOrientation w PrintSettings akceptuje trzy wartości:

  • PaperOrientation.Portrait — układ pionowy (domyślny w większości drukarek). Najlepiej nadaje się do dokumentów jednokolumnowych, takich jak listy, umowy i faktury.
  • PaperOrientation.Landscape — układ poziomy. Najlepiej sprawdza się w przypadku obszernych treści, takich jak tabele danych, wykresy Gantta, arkusze kalkulacyjne i prezentacje.
  • PaperOrientation.Automatic — pozostaje przy domyślnym ustawieniu drukarki.

Tworzymy obiekt PrintSettings, przypisujemy pożądaną orientację i przekazujemy go do Printer.Print() do cichego drukowania lub Printer.ShowPrintDialog() do drukowania z dialogiem.

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

// Portrait orientation — standard for letters and invoices
var portraitSettings = new PrintSettings
{
    PaperOrientation = PaperOrientation.Portrait
};
Printer.Print("invoice.pdf", portraitSettings);

// Landscape orientation — ideal for wide tables and dashboards
var landscapeSettings = new PrintSettings
{
    PaperOrientation = PaperOrientation.Landscape
};
Printer.Print("quarterly-dashboard.pdf", landscapeSettings);
Imports IronPrint

' Portrait orientation — standard for letters and invoices
Dim portraitSettings As New PrintSettings With {
    .PaperOrientation = PaperOrientation.Portrait
}
Printer.Print("invoice.pdf", portraitSettings)

' Landscape orientation — ideal for wide tables and dashboards
Dim landscapeSettings As New PrintSettings With {
    .PaperOrientation = PaperOrientation.Landscape
}
Printer.Print("quarterly-dashboard.pdf", landscapeSettings)
$vbLabelText   $csharpLabel

W natywnym podejściu .NET System.Drawing.Printing, orientacja jest boolem (DefaultPageSettings.Landscape = true) zagnieżdżonym w PrintDocument, który wymaga również obsługi zdarzeń z PrintPage, renderowania grafiki i ręcznego zarządzania stronami. IronPrint zastępuje cały ten proces pojedynczą właściwością obiektu ustawień.

Jak połączyć orientację z innymi ustawieniami drukowania?

Orientacja jest najbardziej przydatna w połączeniu z rozmiarem papieru, rozdzielczością DPI i marginesami, aby zdefiniować kompletny układ wydruku. Klasa PrintSettings pozwala nam skonfigurować to wszystko w jednym obiekcie.

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

var settings = new PrintSettings
{
    PaperOrientation = PaperOrientation.Landscape,
    PaperSize = PaperSize.A4,
    Dpi = 300,
    NumberOfCopies = 1,
    PaperMargins = new Margins(15, 15, 15, 15),
    Grayscale = false
};

Printer.Print("financial-report.pdf", settings);
Imports IronPrint

Dim settings As New PrintSettings With {
    .PaperOrientation = PaperOrientation.Landscape,
    .PaperSize = PaperSize.A4,
    .Dpi = 300,
    .NumberOfCopies = 1,
    .PaperMargins = New Margins(15, 15, 15, 15),
    .Grayscale = False
}

Printer.Print("financial-report.pdf", settings)
$vbLabelText   $csharpLabel

PaperSize i PaperOrientation współpracują — ustawienie A4 poziomo daje obszar drukowania 297 × 210 mm, podczas gdy A4 pionowo daje 210 × 297 mm. Właściwość Dpi kontroluje rozdzielczość wyjściową (300 to standard dla dokumentów biznesowych), a wartości PaperMargins są w milimetrach.

Jak umożliwić użytkownikom wybór orientacji w oknie dialogowym PRINT?

Kiedy przekazujemy PrintSettings do Printer.ShowPrintDialog(), dialog otwiera sie z ustalona przez nas orientacja. Użytkownik może je zaakceptować lub przełączać się między orientacją pionową a poziomą przed wydrukowaniem.

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

// Pre-select landscape, but let the user override in the dialog
var settings = new PrintSettings
{
    PaperOrientation = PaperOrientation.Landscape,
    PaperSize = PaperSize.Letter
};

Printer.ShowPrintDialog("wide-report.pdf", settings);
Imports IronPrint

' Pre-select landscape, but let the user override in the dialog
Dim settings As New PrintSettings With {
    .PaperOrientation = PaperOrientation.Landscape,
    .PaperSize = PaperSize.Letter
}

Printer.ShowPrintDialog("wide-report.pdf", settings)
$vbLabelText   $csharpLabel

W scenariuszach interfejsu użytkownika bez blokowania wariant asynchroniczny Printer.ShowPrintDialogAsync() przyjmuje te same parametry i zapewnia responsywność aplikacji podczas otwarcia okna dialogowego. Jest to szczególnie przydatne przy orientacji, ponieważ użytkownicy często chcą zobaczyć, jak dokument wygląda w orientacji pionowej i poziomej, zanim zdecydują się na wydruk. Samouczek dotyczący drukowania dokumentów obejmuje zarówno procesy ciche, jak i z oknami dialogowymi od początku do końca.

Kolejne kroki

Orientacja papieru jest jedną z właściwości w obiekcie PrintSettings — ustaw PaperOrientation na Portrait, Landscape lub Automatic i przekaż do dowolnej metody drukowania IronPrint. Połącz to z PaperSize, Dpi i PaperMargins dla pełnej kontroli układu.

Zapoznaj się z instrukcją dotyczącą ustawień drukowania dla każdej dostępnej właściwości, Dokumentacją API klasy Printer zawierającą pełną listę metod lub stroną z przykładami kodu, na której znajdziesz gotowe do użycia fragmenty kodu. Samouczki IronPrint przedstawiają cały cykl życia drukowania, a dziennik zmian zawiera informacje o ostatnich aktualizacjach, w tym o poprawkach wydajności.

Rozpocznij bezpłatny 30-dniowy okres próbny, aby przetestować ustawienia orientacji w rzeczywistym projekcie. Gdy wszystko będzie gotowe, zapoznaj się z opcjami licencji już od 749 USD.

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.