Papier-Ränder festlegen beim PDF drucken in C

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

Druckränder kontrollieren den Leerraum zwischen Ihrem Dokumentinhalt und den Rändern der physischen Seite. Wenn man sie richtig einstellt, verhindert dies abgeschnittenen Text, stellt konsistente Layouts über verschiedene Drucker sicher und erfüllt Formatierungsanforderungen für Rechnungen, Berichte und juristische Dokumente.

Die Margins Klasse von IronPrint akzeptiert Werte in Millimetern und bietet drei Konstruktor-Überladungen — einheitlich, horizontal/vertikal und je Seite — damit wir jede Layoutanforderung in einer einzigen Zeile erfüllen können. Wir gehen im Folgenden auf jeden Ansatz ein, von der Installation bis zum Drucken mit benutzerdefinierten Rändern.

Schnellstart: Papier-Ränder festlegen

  1. Installieren Sie IronPrint über NuGet: Install-Package IronPrint
  2. Fügen Sie using IronPrint; zur Datei hinzu
  3. Erstellen Sie ein PrintSettings Objekt
  4. Weisen Sie einen Margins Wert PaperMargins zu (Werte in Millimetern)
  5. Übergeben Sie die Einstellungen an Printer.Print() mit dem Dateipfad
  1. Installieren Sie IronPrint mit NuGet Package Manager

    PM > Install-Package IronPrint
  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    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. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute, IronPrint in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion

    arrow pointer

Wie kann ich gleiche Ränder auf allen Seiten festlegen?

Der einfachste Konstruktor nimmt eine einzelne Ganzzahl und wendet sie einheitlich auf alle vier Seiten an. Wir übergeben den Wert in Millimetern:

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

// 20 mm margin on every side
PrintSettings settings = new PrintSettings
{
    PaperMargins = new Margins(20),
    PaperSize = PaperSize.A4
};

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

' 20 mm margin on every side
Dim settings As New PrintSettings With {
    .PaperMargins = New Margins(20),
    .PaperSize = PaperSize.A4
}

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

Margins(20) setzt Left, Top, Right und Bottom jeweils auf 20 mm. Dies ist die häufigste Wahl für standardmäßige Geschäftsdokumente, bei denen konsistenter Leerraum an jedem Rand ausreicht.

IronPrint misst Ränder in Millimetern, was die Verwirrung der System.Drawing.Printing.Margins Klasse vermeidet, die Hundertstelzoll verwendet. Ein 25,4 mm Rand in IronPrint entspricht new System.Drawing.Printing.Margins(100) — keine Umrechnungsrechnung erforderlich.

Wie stelle ich unterschiedliche Ränder für jede Seite ein?

Wenn ein Dokument zusätzlichen Platz oben für einen Briefkopf oder unten für eine Fußzeile benötigt, verwenden wir den Vier-Parameter-Konstruktor:

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

// Left: 10 mm, Top: 25 mm, Right: 10 mm, Bottom: 20 mm
PrintSettings settings = new PrintSettings
{
    PaperMargins = new Margins(10, 25, 10, 20),
    PaperOrientation = PaperOrientation.Portrait
};

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

' Left: 10 mm, Top: 25 mm, Right: 10 mm, Bottom: 20 mm
Dim settings As New PrintSettings With {
    .PaperMargins = New Margins(10, 25, 10, 20),
    .PaperOrientation = PaperOrientation.Portrait
}

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

Die Parameterreihenfolge ist left, top, right, bottom. Jeder Wert ist unabhängig, sodass wir asymmetrische Layouts erstellen können, die Kopfzeilen, Fußzeilen, Binde-Ränder oder Lochrand berücksichtigen. Die Margins Class API Referenz dokumentiert jedes Feld.

Welche Kurzschreiboptionen gibt es für häufige Randlayouts?

Die Margins Klasse von IronPrint bietet zwei zusätzliche Konstruktoren über die einheitlichen und je Seite-Versionen hinaus:

Horizontal / Vertikal KurzformMargins(int horizontal, int vertical) setzt links+rechts auf den ersten Wert und oben+unten auf den zweiten:

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

// 10 mm left & right, 20 mm top & bottom
PrintSettings settings = new PrintSettings
{
    PaperMargins = new Margins(10, 20)
};

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

' 10 mm left & right, 20 mm top & bottom
Dim settings As New PrintSettings With {
    .PaperMargins = New Margins(10, 20)
}

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

Null-RänderMargins.Zero entfernt alle Ränder für randloses Drucken:

:path=/static-assets/print/content-code-examples/how-to/set-paper-margins/set-paper-margins-zero-margins.cs
PrintSettings borderless = new PrintSettings
{
    PaperMargins = Margins.Zero
};

Printer.Print("poster.png", borderless);
Dim borderless As New PrintSettings With {
    .PaperMargins = Margins.Zero
}

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

Beachten Sie, dass die meisten physischen Drucker einen hardware-minimale Druckbereich erzwingen. Das Setzen von Margins.Zero sendet Null-Rand-Anweisungen an den Treiber, aber der Drucker könnte Inhalte in Randnähe dennoch je nach seinen Fähigkeiten abschneiden.

Wie kombiniere ich Ränder mit anderen Druckeinstellungen?

PaperMargins ist eine Eigenschaft auf PrintSettings. Wir können es mit Papiergröße, Ausrichtung, DPI, Kopien, Graustufenmodus und Druckerwahl in einem einzigen Konfigurationsobjekt kombinieren:

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

// Full print configuration for a quarterly report
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"
};

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

' Full print configuration for a quarterly report
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"
}

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

Für asynchrone Workflows — WPF, MAUI oder ASP.NET Web-Apps — ersetzen Sie Printer.Print() mit await Printer.PrintAsync(), um den UI-Thread nicht zu blockieren. Dasselbe PrintSettings Objekt funktioniert mit beiden Methoden.

Was sind meine nächsten Schritte?

Wir haben vier Möglichkeiten behandelt, Druckränder mit IronPrint zu konfigurieren: einheitliche Ränder mit Margins(int), Kontrolle je Seite mit Margins(int, int, int, int), der horizontale/vertikale Kurzform Margins(int, int) und randloses Drucken mit Margins.Zero. Jeder Ansatz wird in PrintSettings.PaperMargins eingespeist und funktioniert mit sowohl Printer.Print() als auch Printer.PrintAsync().

Für weiterführende Lektüre, erkunden Sie diese Ressourcen:

Holen Sie sich eine kostenlose Testlizenz, um alle Funktionen in einer Live-Umgebung zu testen, oder sehen Sie sich die Lizenzierungsoptionen an, wenn Sie bereit sind, zu deployen.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 38,930 | Version: 2026.4 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronPrint
Führen Sie ein Beispiel aus und beobachten Sie, wie Ihr Dokument auf dem Drucker ausgegeben wird.