Como definir margens de papel para impressão em C
As margens de impressão controlam o espaço em branco entre o conteúdo do documento e as bordas da página física. Configurá-las corretamente evita texto cortado, garante layouts consistentes entre impressoras e cumpre requisitos de formatação para faturas, relatórios e documentos legais.
A classe Margins do IronPrint aceita valores em milímetros e oferece três sobrecargas de construtor — uniforme, horizontal/vertical e por lado — para que possamos atender a qualquer requisito de layout em uma única linha. A seguir, detalhamos cada abordagem, desde a instalação até a impressão com margens personalizadas.
Início rápido: Definir margens de papel
- Instale o IronPrint via NuGet:
Install-Package IronPrint - Adicione
using IronPrint;ao arquivo - Crie um objeto
PrintSettings - Atribua um valor
MarginsaPaperMargins(valores em milímetros) - Passe as configurações para
Printer.Print()com o caminho do arquivo.
-
Instale IronPrint com o Gerenciador de Pacotes NuGet
PM > Install-Package IronPrint -
Copie e execute este trecho de código.
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); -
Implante para testar em seu ambiente de produção.
Comece a usar IronPrint em seu projeto hoje com uma avaliação gratuita
Fluxo de trabalho mínimo (5 etapas)
- Instale a biblioteca de impressão IronPrint C#
- Crie um objeto
PrintSettings - Atribua um valor
MarginsaPaperMargins - Passe as configurações para
Printer.Print() - Execute o projeto para imprimir com margens personalizadas
Como posso definir margens iguais em todos os lados?
O construtor mais simples aceita um único número inteiro e o aplica uniformemente a todos os quatro lados. Passamos o valor em milímetros:
: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) define Left, Top, Right e Bottom cada um com 20 mm. Esta é a escolha mais comum para documentos comerciais padrão, onde o espaço em branco consistente em cada borda é suficiente.
O IronPrint mede as margens em milímetros, o que evita a confusão da classe System.Drawing.Printing.Margins que usa centésimos de polegada. Uma margem de 25,4 mm no IronPrint é equivalente a new System.Drawing.Printing.Margins(100) — nenhuma conversão matemática necessária da nossa parte.
Como definir diferentes margens para cada lado?
Quando um documento precisa de espaço extra no topo para um cabeçalho ou na parte inferior para um rodapé, usamos o construtor de quatro parâmetros:
: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)
A ordem dos parâmetros é left, top, right, bottom. Cada valor é independente, para que possamos criar layouts assimétricos que acomodem cabeçalhos, rodapés, bordas de encadernação ou espaço para furos. A documentação de referência da API da classe Margins abrange todos os campos.
Quais opções abreviadas existem para layouts de margens comuns?
A classe Margins do IronPrint fornece dois construtores adicionais além das versões uniforme e por lado:
Abreviação horizontal/vertical — Margins(int horizontal, int vertical) define esquerda+direita com o primeiro valor e topo+inferior com o segundo:
: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)
Margens zero — Margins.Zero remove todas as margens para impressão sem bordas:
: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)
Lembre-se de que a maioria das impressoras físicas impõe uma área mínima de impressão por hardware. A configuração Margins.Zero envia instruções de margem zero para o driver, mas a impressora ainda pode cortar o conteúdo próximo às bordas, dependendo de suas capacidades.
Como Combino Margens com Outras Configurações de Impressão?
PaperMargins é uma propriedade em PrintSettings . Podemos combiná-lo com tamanho de papel, orientação, DPI, cópias, modo de escala de cinza e seleção de impressora em um único objeto de configuração:
: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)
Para fluxos de trabalho assíncronos — aplicativos web WPF, MAUI ou ASP.NET — substitua Printer.Print() por await Printer.PrintAsync() para evitar o bloqueio da thread da interface do usuário. O mesmo objeto PrintSettings funciona com ambos os métodos.
Quais são os meus próximos passos?
Abordamos quatro maneiras de configurar as margens de impressão com o IronPrint: margens uniformes usando Margins(int), controle por lado com Margins(int, int, int, int), a abreviação horizontal/vertical Margins(int, int) e impressão sem bordas com Margins.Zero. Cada abordagem alimenta o PrintSettings.PaperMargins e funciona com o Printer.Print() e o Printer.PrintAsync().
Para leitura adicional, explore estes recursos:
- Tutoriais IronPrint — Imprimir Documento para guias de impressão de ponta a ponta.
- Como Fazer Configurações de Impressão para DPI, orientação, cópias e mais.
MarginsReferência da API da classe para documentação completa do construtor e dos campos.PrinterReferência da API de classe para todos os métodos de impressão estáticos.
Obtenha uma licença de teste gratuita para testar cada recurso em um ambiente ao vivo, ou veja as opções de licenciamento quando estiver pronto para implantar.
Perguntas frequentes
O que é IronPrint e como ele ajuda a definir margens de impressão em C#?
O IronPrint é uma biblioteca .NET que simplifica a definição de margens de impressão em C#. Ele oferece uma classe Margins que permite aos desenvolvedores personalizar facilmente as margens de impressão com opções uniformes, por lado e sem borda usando apenas uma linha de código.
Como posso definir margens uniformes para impressão em C# usando o IronPrint?
Para definir margens uniformes para impressão em C# com o IronPrint, você pode usar a classe Margins. Esta classe permite que você especifique o mesmo tamanho de margem para todos os lados da página em uma única linha de código.
É possível definir margens diferentes para cada lado da página em C#?
Sim, o IronPrint permite que você defina margens diferentes para cada lado da página em C#. A classe Margins oferece opções para personalizar as margens superior, inferior, esquerda e direita individualmente.
Posso criar impressões sem borda usando o IronPrint?
O IronPrint suporta a criação de impressões sem borda. Ao ajustar as margens usando a classe Margins, você pode definir as margens para zero, produzindo efetivamente uma impressão sem borda.
Quais são os benefícios de usar o IronPrint para definir margens de papel?
O IronPrint simplifica o processo de definição de margens de papel em C# fornecendo uma API direta e eficiente. Sua classe Margins simplifica o código e aumenta a produtividade, tornando mais fácil implementar requisitos de impressão personalizados.
Preciso de conhecimentos avançados de codificação para definir margens de impressão com o IronPrint?
Não, você não precisa de conhecimentos avançados de codificação para definir margens de impressão com o IronPrint. A biblioteca é projetada para ser amigável ao usuário, permitindo que mesmo aqueles com habilidades básicas de C# implementem margens personalizadas facilmente.
Como o IronPrint lida com diferentes tamanhos de papel ao definir margens?
O IronPrint se adapta a vários tamanhos de papel permitindo que você especifique margens que se ajustem às dimensões específicas do seu documento. Essa flexibilidade garante que suas saídas de impressão atendam às suas necessidades específicas de layout.
O IronPrint pode ser integrado com outros aplicativos .NET?
Sim, o IronPrint pode ser facilmente integrado com outros aplicativos .NET, permitindo que você incorpore configurações de margens de impressão personalizadas em uma ampla gama de projetos e fluxos de trabalho.

