Papier-Ränder festlegen beim PDF drucken in C
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
- Installieren Sie IronPrint über NuGet:
Install-Package IronPrint - Fügen Sie
using IronPrint;zur Datei hinzu - Erstellen Sie ein
PrintSettingsObjekt - Weisen Sie einen
MarginsWertPaperMarginszu (Werte in Millimetern) - Übergeben Sie die Einstellungen an
Printer.Print()mit dem Dateipfad
-
Installieren Sie IronPrint mit NuGet Package Manager
PM > Install-Package IronPrint -
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); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronPrint in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- Installieren Sie die IronPrint C#-Druckbibliothek
- Erstellen Sie ein `PrintSettings`-Objekt
- Weisen Sie einen `Margins` Wert `PaperMargins` zu
- Übergeben Sie Einstellungen an `Printer.Print()`
- Führen Sie das Projekt aus, um mit benutzerdefinierten Rändern zu drucken
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;
// 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)
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;
// 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)
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 Kurzform — Margins(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;
// 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)
Null-Ränder — Margins.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 = 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)
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;
// 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)
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:
- IronPrint-Tutorials – Dokument drucken für umfassende Druckanleitungen.
- Print Settings How-To für DPI, Ausrichtung, Kopien und mehr.
- Margins Class API Referenz für vollständige Konstruktor- und Felddokumentation.
- API-Referenz der Printer-Klasse für alle statischen Druckmethoden.
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.

