Wie lege ich die Papierabstände für den Druck in C# fest

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

Druckabstände steuern den leeren Raum zwischen Ihrem Dokumentinhalt und den Rändern der physischen Seite. Das richtige Einstellen verhindert abgeschnittenen Text, sorgt für konsistente Layouts über Drucker hinweg und erfüllt Formatierungsanforderungen für Rechnungen, Berichte und juristische Dokumente.

Die Margins-Klasse von IronPrint akzeptiert Werte in Millimetern und bietet drei Konstrukturoptionen - uniform, horizontal/vertikal und seitenweise - sodass wir jede Layoutanforderung in einer einzigen Zeile erfüllen können. Wir führen Sie durch jeden Ansatz, von der Installation bis zum Drucken mit benutzerdefinierten Rändern.

Quickstart: Papierabstände festlegen

  1. Installieren Sie IronPrint über NuGet: Install-Package IronPrint
  2. Fügen Sie using IronPrint; der Datei hinzu
  3. Erstellen Sie ein PrintSettings-Objekt
  4. Weisen Sie PaperMargins einen Margins Wert zu (Werte in Millimeter)
  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 Abstände auf allen Seiten festlegen?

Der einfachste Konstruktor nimmt eine ganze Zahl 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;

// 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) setzt Left, Top, Right und Bottom jeweils auf 20 mm. Dies ist die häufigste Wahl für Standardgeschäftsdokumente, bei denen konsistenter Leerraum an jedem Rand ausreichend ist.

IronPrint misst Ränder in Millimetern, was die Verwirrung der System.Drawing.Printing.Margins-Klasse vermeidet, die Hundertstel eines Zolls verwendet. Ein 25,4-mm-Rand in IronPrint entspricht new System.Drawing.Printing.Margins(100) – keine Umrechnungsformeln auf unserer Seite erforderlich.

Wie lege ich unterschiedliche Abstände für jede Seite fest?

Wenn ein Dokument oben mehr Platz 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;

// 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

Die Parameterreihenfolge ist left, top, right, bottom. Jeder Wert ist unabhängig, sodass wir asymmetrische Layouts erstellen können, die Header, Footer, Bindungsränder oder Lochplatzplatz aufnehmen. The Margins class API reference documents every field.

Welche Kurzformen gibt es für gängige Layouts?

Die Margins-Klasse von IronPrint bietet zwei zusätzliche Konstruktoren neben den uniformen und seitenweisen Versionen:

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

: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

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
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

Beachten Sie, dass die meisten physischen Drucker einen hardwaremäßigen minimal druckbaren Bereich erzwingen. Das Einstellen von Margins.Zero sendet Null-Rand-Anweisungen an den Treiber, aber der Drucker kann dennoch Inhalte nahe den Rändern abschneiden, abhängig von seinen Fähigkeiten.

Wie kombiniere ich Ränder mit anderen Druckeinstellungen?

PaperMargins is one property on PrintSettings. Wir können es mit Papiergröße, Ausrichtung, DPI, Kopien, Graustufenmodus und Druckerauswahl 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;

// 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

Für asynchrone Workflows – WPF, MAUI oder ASP.NET Web-Apps – ersetzen Sie Printer.Print() durch await Printer.PrintAsync(), um das Blockieren des UI-Threads zu vermeiden. Dasselbe PrintSettings-Objekt funktioniert mit beiden Methoden.

Was sind meine nächsten Schritte?

Wir haben vier Möglichkeiten zum Konfigurieren der Druckränder mit IronPrint behandelt: uniforme Ränder mit Margins(int), seitenweise Steuerung mit Margins(int, int, int, int), die horizontal/vertikale Kurzform Margins(int, int) und randloses Drucken mit Margins.Zero. Jeder Ansatz fließt in PrintSettings.PaperMargins ein und funktioniert mit sowohl Printer.Print() als auch Printer.PrintAsync().

Für weiterführende Informationen konsultieren Sie bitte diese Ressourcen:

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

Häufig gestellte Fragen

Was ist IronPrint und wie hilft es beim Festlegen von Druckrändern in C#?

IronPrint ist eine .NET-Bibliothek, die das Festlegen von Druckrändern in C# vereinfacht. Sie bietet eine Margins-Klasse, die es Entwicklern ermöglicht, Druckränder mit einheitlichen, seitenweise und randlosen Optionen einfach zu gestalten, und das alles mit nur einer Codezeile.

Wie kann ich einheitliche Ränder für das Drucken in C# mit IronPrint festlegen?

Um einheitliche Ränder für das Drucken in C# mit IronPrint festzulegen, können Sie die Margins-Klasse verwenden. Diese Klasse ermöglicht es Ihnen, die gleiche Randgröße für alle Seiten in einer einzigen Codezeile zu spezifizieren.

Ist es möglich, unterschiedliche Ränder für jede Seite in C# festzulegen?

Ja, IronPrint ermöglicht es Ihnen, unterschiedliche Ränder für jede Seite in C# festzulegen. Die Margins-Klasse bietet Optionen, um die oberen, unteren, linken und rechten Ränder individuell anzupassen.

Kann ich mit IronPrint randlose Drucke erstellen?

IronPrint unterstützt die Erstellung von randlosen Drucken. Indem Sie die Ränder mit der Margins-Klasse anpassen, können Sie die Ränder auf null setzen und so einen randlosen Druck erzeugen.

Was sind die Vorteile der Verwendung von IronPrint zum Festlegen von Papiermargen?

IronPrint vereinfacht die Festlegung von Papiermargen in C# durch eine einfach zu bedienende und effiziente API. Die Margins-Klasse vereinfacht den Code und erhöht die Produktivität, sodass benutzerdefinierte Druckanforderungen leichter umgesetzt werden können.

Benötige ich umfangreiche Programmierkenntnisse, um Druckränder mit IronPrint festzulegen?

Nein, Sie benötigen keine umfangreichen Programmierkenntnisse, um Druckränder mit IronPrint festzulegen. Die Bibliothek ist benutzerfreundlich gestaltet, sodass auch Personen mit grundlegenden C#-Kenntnissen benutzerdefinierte Ränder einfach implementieren können.

Wie geht IronPrint mit unterschiedlichen Papiergrößen bei der Festlegung von Rändern um?

IronPrint passt sich an verschiedene Papiergrößen an, indem es Ihnen erlaubt, Ränder festzulegen, die den spezifischen Abmessungen Ihres Dokuments entsprechen. Diese Flexibilität gewährleistet, dass Ihre Druckausgaben Ihre spezifischen Layoutanforderungen erfüllen.

Kann IronPrint in andere .NET-Anwendungen integriert werden?

Ja, IronPrint kann nahtlos in andere .NET-Anwendungen integriert werden, sodass Sie benutzerdefinierte Druckrand-Einstellungen in eine Vielzahl von Projekten und Workflows einfügen können.

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 44,051 | Version: 2026.7 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.