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 akceptuje wartości w milimetrach i oferuje trzy przeciążenia konstruktora — jednolite, poziome/pionowe oraz na stronę — dzięki czemu możemy dopasować się do dowolnych wymagań dotyczących układu w jednej linii. Poniżej omówimy każde z tych podejść, 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() wraz ze ścieżką do 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 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 pozwala uniknąć niejasności związanych z klasą System.Drawing.Printing.Margins, która używa setnych części cala. Margines 25,4 mm w IronPrint odpowiada new System.Drawing.Printing.Margins(100) — nie wymagamy żadnych obliczeń konwersji z naszej strony.

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 opisuje każde pole.

Jakie istnieja skróty dla powszechnych ukladow marginesow?

Klasa Margins w IronPrint udostępnia dwa dodatkowe konstruktory oprócz wersji jednolitej i wersji dla poszczególnych stron:

Skrót poziomy / pionowyMargins(int horizontal, int vertical) ustawia lewą i prawą stronę na pierwszą wartość, a górną i dolną 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

Brak marginesówMargins.Zero usuwa wszystkie marginesy w celu drukowania 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 = new Margins(0)
};

// 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 = New Margins(0)
}

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

Pamietaj, ze wiekszosc fizycznych drukarek wymusza minimalny obszar drukowalny przez hardware. Ustawienie Margins.Zero wysyła do sterownika instrukcje dotyczące zerowego marginesu, ale drukarka może nadal przycinać zawartość w pobliżu 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 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

W przypadku przepływów pracy asynchronicznych — aplikacji WPF, MAUI lub ASP.NET — należy zastąpić Printer.Print() na await Printer.PrintAsync(), aby uniknąć blokowania wątku interfejsu użytkownika. Ten sam obiekt PrintSettings działa w obu metodach.

Jakie są moje kolejne kroki?

Omówiliśmy cztery sposoby konfiguracji marginesów wydruku za pomocą IronPrint: jednolite marginesy przy użyciu Margins(int), kontrolę dla każdej strony za pomocą Margins(int, int, int, int), skrót poziomy/pionowy Margins(int, int) oraz drukowanie bez marginesów za pomocą Margins.Zero. Każde podejście jest uwzględnione w 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.

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'name'

Filename: sections/author_component.php

Line Number: 18

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 18
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

k

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'title'

Filename: sections/author_component.php

Line Number: 38

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 38
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

k

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'comment'

Filename: sections/author_component.php

Line Number: 48

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 48
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

k
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 41,154 | Wersja: 2026.5 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.