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;
// 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)
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)
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;
// 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)
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
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)
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)
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.

