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 ao imprimir documento, 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. Caminhamos por cada abordagem abaixo, desde a instalação até a impressão com margens personalizadas.
Início rápido: Definir margens de papel
- Instalar IronPrint via NuGet:
Install-Package IronPrint - Adicionar
using IronPrint;ao arquivo - Criar um objeto
PrintSettings - Atribuir um valor
MarginsaPaperMargins(valores em milímetros) - Passar 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
- Instale a biblioteca de impressão IronPrint C#
- Crie um objeto `PrintSettings`
- Atribua um valor `Margins` a `PaperMargins`
- 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/uniform-margins.cs
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
' ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
Margins(20) define Left, Top, Right, e Bottom cada um para 20 mm. Esta é a escolha mais comum para documentos comerciais padrão, onde o espaço em branco consistente em cada borda é suficiente.
IronPrint mede 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) — não é necessário cálculo de conversão do nosso lado.
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/per-side-margins.cs
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
' ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
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 referência da API da classe Margins documenta cada campo.
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 para o primeiro valor e topo+inferior para o segundo:
:path=/static-assets/print/content-code-examples/how-to/set-paper-margins/shorthand-margins.cs
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
' ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
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/zero-margins.cs
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
' ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
Lembre-se de que a maioria das impressoras físicas impõe uma área mínima de impressão por hardware. Configurar Margins.Zero envia instruções de margem zero para o driver, mas a impressora pode ainda cortar 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/combined-settings.cs
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
' ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
Para fluxos de trabalho assíncronos — WPF, MAUI, ou aplicativos web ASP.NET — substitua Printer.Print() por await Printer.PrintAsync() para evitar bloquear o thread da UI. O mesmo objeto PrintSettings funciona com ambos os métodos.
Quais são os meus próximos passos?
Cobrimos quatro maneiras de configurar margens de impressão com 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-se em PrintSettings.PaperMargins e funciona com ambos Printer.Print() e 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.
- Referência API da Classe Margins para documentação completa de construtores e campos.
- Referência API da Classe Printer para todos os métodos de impressão estática.
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.

