Jak ustawic marginesy papieru do drukowania w C

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

Marginesy drukowania kontroluja pusta przestrzen miedzy treścią dokumentu a krawedziami fizycznej strony. Prawidlowe ustawienie zapobiega przecieciu tekstu, zapewnia spojnosc ukladow na różnych drukarkach i spełnia wymagania dotyczące formatowania faktur, raportow i dokumentów prawnych.

Klasa Margins w IronPrint przyjmuje wartości w milimetrach i oferuje trzy przeciążenia konstruktora — jednolite, poziome/pionowe i dla każdej strony oddzielnie — dzięki czemu możemy dostosować się do każdych wymagań układu w jednej linii. Poniżej omawiamy każde podejście, od instalacji po drukowanie z niestandardowymi marginesami.

Szybki start: Ustawianie marginesow papieru

  1. Zainstaluj IronPrint za pomocą NuGet: Install-Package IronPrint
  2. Dodaj using IronPrint; do pliku
  3. Utwórz obiekt PrintSettings
  4. Przypisz wartość Margins do PaperMargins (wartości w milimetrach)
  5. Przekaż ustawienia do Printer.Print() z ścieżką pliku
  1. Install IronPrint with NuGet Package Manager

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

    using IronPrint;
    
    // Set 15 mm margins on all sides and print
    PrintSettings settings = new PrintSettings();
    settings.PaperMargins = new Margins(15);
    Printer.Print("report.pdf", settings);
  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 mogę ustawic rowne marginesy na wszystkich stronach?

Najprostszy konstruktor przyjmuje jedna liczbe całkowita i stosuje ja jednolicie do wszystkich czterech stron. Przekazujemy wartosc w milimetrach:

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

// Configure a uniform 20 mm margin on all sides
PrintSettings settings = new PrintSettings
{
    PaperMargins = new Margins(20),
    PaperSize = PaperSize.A4
};

// Print the invoice
Printer.Print("invoice.pdf", settings);
Imports IronPrint

' Configure a uniform 20 mm margin on all sides
Dim settings As New PrintSettings With {
    .PaperMargins = New Margins(20),
    .PaperSize = PaperSize.A4
}

' Print the invoice
Printer.Print("invoice.pdf", settings)
$vbLabelText   $csharpLabel

Margins(20) ustawia każdy z Left, Top, Right i Bottom na 20 mm. Jest to najczęściej wybierana opcja dla standardowych dokumentów biznesowych, gdzie wystarczajaca jest spojnosc pustej przestrzeni na kazdej krawedzi.

IronPrint mierzy marginesy w milimetrach, co unika nieporozumień klasy System.Drawing.Printing.Margins używającej setnych cali. Margines 25,4 mm w IronPrint jest równoważny new System.Drawing.Printing.Margins(100) — nie potrzebujemy żadnych obliczeń konwersji.

Jak ustawic różne marginesy dla kazdej strony?

Gdy dokument wymaga dodatkowej przestrzeni na gorze dla naglowka lub na dole dla stopki, używamy konstruktóra czteroparametrowego:

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

// Configure per-side margins (left, top, right, bottom)
PrintSettings settings = new PrintSettings
{
    PaperMargins = new Margins(10, 25, 10, 20),
    PaperOrientation = PaperOrientation.Portrait
};

// Print the letterhead
Printer.Print("letterhead.pdf", settings);
Imports IronPrint

' Configure per-side margins (left, top, right, bottom)
Dim settings As New PrintSettings With {
    .PaperMargins = New Margins(10, 25, 10, 20),
    .PaperOrientation = PaperOrientation.Portrait
}

' Print the letterhead
Printer.Print("letterhead.pdf", settings)
$vbLabelText   $csharpLabel

Kolejność parametrów to left, top, right, bottom. Kazda wartosc jest niezależna, wiec możemy stworzyć asymetryczne uklady pasujace do nagłówków, stopek, krawedzi wiazania czy miejsca na otwory do perforacji. Dokumentacja API klasy Margins zawiera opis każdego pola.

Jakie istnieja skróty dla powszechnych ukladow marginesow?

Klasa Margins w IronPrint dostarcza dwa dodatkowe konstruktory oprócz wersji jednolitych i dla każdej strony oddzielnie:

Skrót poziomy/pionowyMargins(int horizontal, int vertical) ustawia lewo+prawo na pierwszą wartość i góra+dół na drugą:

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

// Configure horizontal and vertical margin shorthand
PrintSettings settings = new PrintSettings
{
    PaperMargins = new Margins(10, 20)
};

// Print the landscape report
Printer.Print("report-landscape.pdf", settings);
Imports IronPrint

' Configure horizontal and vertical margin shorthand
Dim settings As New PrintSettings With {
    .PaperMargins = New Margins(10, 20)
}

' Print the landscape report
Printer.Print("report-landscape.pdf", settings)
$vbLabelText   $csharpLabel

Zerowe marginesyMargins.Zero usuwa wszystkie marginesy dla druku bez marginesów:

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

// Configure zero margins for edge-to-edge printing
PrintSettings borderless = new PrintSettings
{
    PaperMargins = Margins.Zero
};

// Print the poster
Printer.Print("poster.png", borderless);
Imports IronPrint

' Configure zero margins for edge-to-edge printing
Dim borderless As New PrintSettings With {
    .PaperMargins = Margins.Zero
}

' Print the poster
Printer.Print("poster.png", borderless)
$vbLabelText   $csharpLabel

Pamietaj, ze wiekszosc fizycznych drukarek wymusza minimalny obszar drukowalny przez hardware. Ustawienie Margins.Zero przesyła instrukcje zerowych marginesów do sterownika, ale drukarka może nadal przycinać zawartość blisko krawędzi w zależności od swoich możliwości.

Jak połączyć marginesy z innymi ustawieniami drukowania?

PaperMargins jest jedną z właściwości w PrintSettings. Możemy połączyć je z rozmiarem papieru, orientacja, DPI, kopiami, trybem w skali szarosci i wyborem drukarki w jednym obiekcie konfiguracyjnym:

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

// Configure full print settings with asymmetric margins
PrintSettings settings = new PrintSettings
{
    PaperMargins = new Margins(15, 20, 15, 25),
    PaperSize = PaperSize.A4,
    PaperOrientation = PaperOrientation.Portrait,
    Dpi = 300,
    NumberOfCopies = 2,
    Grayscale = false,
    PrinterName = "HP LaserJet Pro MFP M428"
};

// Print the Q4 report to the named printer
Printer.Print("Q4-report.pdf", settings);
Imports IronPrint

' Configure full print settings with asymmetric margins
Dim settings As New PrintSettings With {
    .PaperMargins = New Margins(15, 20, 15, 25),
    .PaperSize = PaperSize.A4,
    .PaperOrientation = PaperOrientation.Portrait,
    .Dpi = 300,
    .NumberOfCopies = 2,
    .Grayscale = False,
    .PrinterName = "HP LaserJet Pro MFP M428"
}

' Print the Q4 report to the named printer
Printer.Print("Q4-report.pdf", settings)
$vbLabelText   $csharpLabel

Dla asynchronicznych przepływów pracy — WPF, MAUI lub ASP.NET web apps — zamień Printer.Print() na await Printer.PrintAsync(), aby uniknąć blokowania wątku UI. Ten sam obiekt PrintSettings działa z obiema metodami.

Jakie są moje kolejne kroki?

Omówiliśmy cztery sposoby konfigurowania marginesów drukowania z IronPrint: jednolite marginesy za pomocą Margins(int), kontrola każdej strony z Margins(int, int, int, int), skrót poziomy/pionowy Margins(int, int) i drukowanie bez marginesów z Margins.Zero. Każde podejście trafia do PrintSettings.PaperMargins i działa zarówno z Printer.Print(), jak i Printer.PrintAsync().

Dla dalszej lektury, zobacz te zasoby:

Samouczki IronPrint — Drukuj Dokument dla pełnego przewodnika po drukowaniu.

Uzyskaj bezpłatną licencję próbną, aby przetestować każdą funkcję w rzeczywistym środowisku, lub zobacz opcje licencyjne, gdy będziesz gotowy do wdrożenia.

Często Zadawane Pytania

Czym jest IronPrint i jak pomaga w ustawianiu marginesów druku w C#?

IronPrint to biblioteka .NET, która upraszcza ustawianie marginesów druku w C#. Oferuje klasę Margins, która pozwala programistom łatwo dostosować marginesy druku za pomocą opcji jednolitych, po stronie i bezramkowych przy użyciu jednej linii kodu.

Jak mogę ustawić jednolite marginesy do drukowania w C# za pomocą IronPrint?

Aby ustawić jednolite marginesy do drukowania w C# z IronPrint, można użyć klasy Margins. Ta klasa umożliwia określenie tej samej wielkości marginesu dla wszystkich stron za pomocą jednej linii kodu.

Czy możliwe jest ustawienie różnych marginesów dla każdej strony w C#?

Tak, IronPrint pozwala na ustawienie różnych marginesów dla każdej strony w C#. Klasa Margins oferuje opcje dostosowania marginesów górnego, dolnego, lewego i prawego indywidualnie.

Czy mogę tworzyć wydruki bezramkowe za pomocą IronPrint?

IronPrint obsługuje tworzenie wydruków bezramkowych. Dostosowując marginesy za pomocą klasy Margins, można ustawić marginesy na zero, co efektywnie tworzy druk bezramkowy.

Jakie są korzyści z użycia IronPrint do ustawiania marginesów papieru?

IronPrint usprawnia proces ustawiania marginesów papieru w C# poprzez dostarczanie prostego i wydajnego API. Jego klasa Margins upraszcza kod i zwiększa produktywność, co ułatwia wdrażanie niestandardowych wymagań dotyczących drukowania.

Czy potrzebuję rozległej wiedzy programistycznej, aby ustawić marginesy druku za pomocą IronPrint?

Nie, nie potrzebujesz rozległej wiedzy programistycznej, aby ustawić marginesy druku z IronPrint. Biblioteka została zaprojektowana z myślą o łatwości użytkowania, umożliwiając nawet osobom z podstawową znajomością C# łatwe wdrożenie niestandardowych marginesów.

Jak IronPrint obsługuje różne rozmiary papieru przy ustawianiu marginesów?

IronPrint dopasowuje się do różnych rozmiarów papieru, umożliwiając określenie marginesów odpowiednich dla specyficznych wymiarów dokumentu. Ta elastyczność zapewnia, że wydruki spełniają specyficzne potrzeby układu.

Czy IronPrint można zintegrować z innymi aplikacjami .NET?

Tak, IronPrint można płynnie zintegrować z innymi aplikacjami .NET, co pozwala na włączenie niestandardowych ustawień marginesów druku do szerokiej gamy projektów i przepływów pracy.

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 44,435 | Wersja: 2026.7 właśnie wydany
Still Scrolling Icon

Wciąż przewijasz?

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