Comment définir les marges de papier pour l'impression en C
Les marges d'impression contrôlent l'espace vide entre le contenu de votre document et les bords de la page physique. Les configurer correctement évite le texte coupé, assure des mises en page cohérentes entre les imprimantes, et satisfait les exigences de mise en forme pour les factures, rapports et documents juridiques.
La classe Margins d'IronPrint accepte les valeurs en millimètres et offre trois surcharges de constructeur - uniforme, horizontal/vertical, et par côté - afin que nous puissions répondre à tout besoin de mise en page en une seule ligne. Nous parcourons chaque approche ci-dessous, de l'installation à l'impression avec des marges personnalisées.
Démarrage rapide : Définir les marges de papier
- Install IronPrint via NuGet:
Install-Package IronPrint - Ajoutez
using IronPrint;au fichier - Créez un objet
PrintSettings - Assignez une valeur
MarginsàPaperMargins(valeurs en millimètres) - Passez les paramètres à
Printer.Print()avec le chemin du fichier
-
Installez IronPrint avec le Gestionnaire de Packages NuGet
-
Copiez et exécutez cet extrait de code.
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); -
Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronPrint dans votre projet dès aujourd'hui avec un essai gratuit
Flux de travail minimal (5 étapes)
- Installez la bibliothèque d'impression C# IronPrint
- Créer un objet
PrintSettings - Assignez une valeur
MarginsàPaperMargins - Passez les paramètres à
Printer.Print() - Exécutez le projet pour imprimer avec des marges personnalisées
Comment puis-je définir des marges égales sur tous les côtés ?
Le constructeur le plus simple prend un seul entier et l'applique uniformément aux quatre côtés. Nous passons la valeur en millimètres :
: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) définit Left, Top, Right, et Bottom chacun à 20 mm. C'est le choix le plus courant pour les documents professionnels standard où un espace blanc cohérent sur chaque bord est suffisant.
IronPrint mesure les marges en millimètres, évitant ainsi la confusion de la classe System.Drawing.Printing.Margins qui utilise les centièmes de pouce. Une marge de 25,4 mm dans IronPrint équivaut à new System.Drawing.Printing.Margins(100) - aucune conversion mathématique requise de notre côté.
Comment définir des marges différentes pour chaque côté ?
Lorsqu'un document nécessite plus d'espace en haut pour un en-tête ou en bas pour un pied de page, nous utilisons le constructeur à quatre paramètres :
: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)
L'ordre des paramètres est left, top, right, bottom. Chaque valeur est indépendante, nous pouvons donc créer des mises en page asymétriques qui s'adaptent aux en-têtes, pieds de page, bords de reliure ou espace de perforation. La référence API de la classe Margins documente chaque champ.
Quelles options abrégées existent pour les mises en page de marges courantes ?
La classe Margins d'IronPrint fournit deux constructeurs supplémentaires au-delà des versions uniforme et par côté :
Raccourci Horizontal/Vertical - Margins(int horizontal, int vertical) définit gauche+droite à la première valeur et haut+bas à la deuxième :
: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)
Marges nulles - Margins.Zero supprime toutes les marges pour une impression sans bordure :
: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)
Gardez à l'esprit que la plupart des imprimantes physiques appliquent une zone imprimable minimale obligatoire. Définir Margins.Zero envoie des instructions de marge nulle au pilote, mais l'imprimante peut toujours couper le contenu près des bords en fonction de ses capacités.
Comment combiner les marges avec d'autres paramètres d'impression ?
PaperMargins is one property on PrintSettings. Nous pouvons le combiner avec la taille du papier, l'orientation, le DPI, les copies, le mode en niveaux de gris, et la sélection d'imprimante dans un seul objet de configuration :
: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)
Pour les workflows asynchrones - WPF, MAUI, ou applications web ASP.NET - remplacez Printer.Print() par await Printer.PrintAsync() pour éviter de bloquer le fil d'exécution de l'interface utilisateur. Le même objet PrintSettings fonctionne avec les deux méthodes.
Quelles Sont Mes Prochaines Étapes ?
Nous avons abordé quatre manières de configurer les marges d'impression avec IronPrint : marges uniformes en utilisant Margins(int), contrôle par côté avec Margins(int, int, int, int), le raccourci horizontal/vertical Margins(int, int), et impression sans bordure avec Margins.Zero. Chaque approche s'intègre dans PrintSettings.PaperMargins et fonctionne avec Printer.Print() et Printer.PrintAsync().
Pour des lectures supplémentaires, explorez ces ressources :
- Tutoriels IronPrint — Imprimer un document pour des présentations d'impression de bout en bout.
- Guide des Paramètres d'impression pour le DPI, l'orientation, les copies, et plus.
- Référence API de la classe
Marginspour une documentation complète du constructeur et des champs. - Référence API de la Classe
Printerpour toutes les méthodes d'impression statiques.
Obtenez une licence d'essai gratuite pour tester chaque fonctionnalité dans un environnement en direct, ou voir les options de licences lorsque vous êtes prêt à déployer.
Questions Fréquemment Posées
Qu'est-ce qu'IronPrint et comment cela aide-t-il à définir les marges d'impression en C# ?
IronPrint est une bibliothèque .NET qui simplifie la définition des marges d'impression en C#. Elle offre une classe Margins qui permet aux développeurs de personnaliser facilement les marges d'impression avec des options uniformes, par côté et sans bordure en une seule ligne de code.
Comment puis-je définir des marges uniformes pour l'impression en C# en utilisant IronPrint ?
Pour définir des marges uniformes pour l'impression en C# avec IronPrint, vous pouvez utiliser la classe Margins. Cette classe vous permet de spécifier la même taille de marge pour tous les côtés de la page en une seule ligne de code.
Est-il possible de définir des marges différentes pour chaque côté de la page en C# ?
Oui, IronPrint vous permet de définir des marges différentes pour chaque côté de la page en C#. La classe Margins fournit des options pour personnaliser individuellement les marges supérieure, inférieure, gauche et droite.
Puis-je créer des impressions sans bordure en utilisant IronPrint ?
IronPrint prend en charge la création d'impressions sans bordure. En ajustant les marges à l'aide de la classe Margins, vous pouvez régler les marges à zéro, produisant ainsi une impression sans bordure.
Quels sont les avantages de l'utilisation d'IronPrint pour définir les marges de papier ?
IronPrint simplifie le processus de définition des marges de papier en C# en fournissant une API simple et efficace. Sa classe Margins simplifie le code et améliore la productivité, facilitant la mise en œuvre d'exigences d'impression personnalisées.
Ai-je besoin de connaissances approfondies en codage pour définir des marges d'impression avec IronPrint ?
Non, vous n'avez pas besoin de connaissances approfondies en codage pour définir des marges d'impression avec IronPrint. La bibliothèque est conçue pour être conviviale, permettant même à ceux qui ont des compétences de base en C# de mettre en œuvre facilement des marges personnalisées.
Comment IronPrint gère-t-il les différentes tailles de papier lors de la définition des marges ?
IronPrint s'adapte à diverses tailles de papier en vous permettant de spécifier des marges qui s'adaptent aux dimensions spécifiques de votre document. Cette flexibilité garantit que vos sorties d'impression répondent à vos besoins spécifiques de mise en page.
IronPrint peut-il être intégré à d'autres applications .NET ?
Oui, IronPrint peut être intégré de manière transparente aux autres applications .NET, vous permettant d'incorporer des paramètres de marges d'impression personnalisées dans une vaste gamme de projets et de workflows.

