Como desenhar linhas e retângulos em PDFs usando C#

Como desenhar linhas e retângulos em PDFs usando C

This article was translated from English: Does it need improvement?
Translated
View the article in English

Para desenhar linhas e retângulos em PDFs em C#, use os métodos DrawLine e DrawRectangle do IronPDF em um objeto PdfDocument, especificando coordenadas, cores e dimensões para adicionar formas geométricas profissionais programaticamente.

Desenhar linhas e retângulos em um documento PDF refere-se ao processo de adicionar formas geométricas, especificamente linhas e retângulos, ao conteúdo de um arquivo PDF. Isso geralmente é feito programaticamente usando uma linguagem de programação como C# ou VB .NET e uma biblioteca como o IronPDF.

Ao desenhar uma linha, você cria um segmento de reta visível com pontos inicial e final definidos. Da mesma forma, ao desenhar um retângulo, você define uma forma de quatro lados com dimensões e posições específicas. Essas funcionalidades de desenho são essenciais para criar formulários, diagramas, anotações e destacar seções importantes em documentos PDF. Os recursos de desenho do IronPDF se integram perfeitamente com suas outras funcionalidades para editar PDF , permitindo que os desenvolvedores aprimorem PDFs existentes ou criem documentos totalmente novos com gráficos personalizados.

Início Rápido: Desenhe Linhas e Retângulos com o IronPDF

Adicione linhas e retângulos aos seus documentos PDF usando o IronPDF. Este guia demonstra como usar o método DrawLine para linhas e o método DrawRectangle para retângulos. Com apenas algumas linhas de código, você pode criar elementos gráficos dinâmicos em seus PDFs, adicionando recursos visuais de qualidade profissional aos seus aplicativos.

  1. Instale IronPDF com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronPdf
  2. Copie e execute este trecho de código.

    IronPdf.PdfDocument pdf = IronPdf.PdfDocument.FromFile("input.pdf");
    pdf.DrawLine(10, 10, 200, 10, "#FF0000", 2);
    pdf.SaveAs("output.pdf");
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronPDF em seu projeto hoje com uma avaliação gratuita

    arrow pointer


Como faço para desenhar linhas em PDFs usando C#?

Utilizando o método DrawLine disponível para o objeto PdfDocument , você pode adicionar linhas a um PDF existente. Utilizar a classe Color oferecida pela documentação da API do IronDrawing possibilita aplicar uma linha com uma cor a partir de um código de cor HEX. Este recurso permite criar sublinhados, divisores, bordas ou diagramas personalizados diretamente em seus documentos PDF.

O método DrawLine aceita diversos parâmetros que lhe dão controle preciso sobre a aparência de suas linhas:

  • Índice de Páginas : Especifica qual página utilizar (indexação baseada em zero)
  • Ponto inicial : As coordenadas iniciais (X, Y)
  • Ponto final : As coordenadas finais (X, Y)
  • Largura : A espessura em pontos
  • Cor : A cor da linha usando códigos hexadecimais ou cores predefinidas.
:path=/static-assets/pdf/content-code-examples/how-to/draw-line-and-rectangle-draw-line.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");

// Configure the required parameters
int pageIndex = 0;
var start = new IronSoftware.Drawing.PointF(200,150);
var end = new IronSoftware.Drawing.PointF(1000,150);
int width = 10;
var color = new IronSoftware.Drawing.Color("#000000");

// Draw line on PDF
pdf.DrawLine(pageIndex, start, end, width, color);

pdf.SaveAs("drawLine.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")

' Configure the required parameters
Private pageIndex As Integer = 0
Private start = New IronSoftware.Drawing.PointF(200,150)
Private [end] = New IronSoftware.Drawing.PointF(1000,150)
Private width As Integer = 10
Private color = New IronSoftware.Drawing.Color("#000000")

' Draw line on PDF
pdf.DrawLine(pageIndex, start, [end], width, color)

pdf.SaveAs("drawLine.pdf")
$vbLabelText   $csharpLabel

Para recursos mais avançados de manipulação de PDFs, consulte a Referência da API , que fornece documentação completa para todos os métodos e propriedades disponíveis.

Qual é a aparência do desenho de linha resultante?

Técnicas avançadas de desenho de linhas

Ao trabalhar com linhas em PDFs, você pode querer criar padrões ou desenhos mais complexos. Aqui está um exemplo de como desenhar várias linhas para criar um padrão de grade:

// Create a grid pattern with horizontal and vertical lines
for (int i = 0; i < 5; i++)
{
    // Draw horizontal lines
    var horizontalStart = new IronSoftware.Drawing.PointF(100, 100 + (i * 100));
    var horizontalEnd = new IronSoftware.Drawing.PointF(500, 100 + (i * 100));
    pdf.DrawLine(0, horizontalStart, horizontalEnd, 2, new IronSoftware.Drawing.Color("#0000FF"));

    // Draw vertical lines
    var verticalStart = new IronSoftware.Drawing.PointF(100 + (i * 100), 100);
    var verticalEnd = new IronSoftware.Drawing.PointF(100 + (i * 100), 500);
    pdf.DrawLine(0, verticalStart, verticalEnd, 2, new IronSoftware.Drawing.Color("#0000FF"));
}
// Create a grid pattern with horizontal and vertical lines
for (int i = 0; i < 5; i++)
{
    // Draw horizontal lines
    var horizontalStart = new IronSoftware.Drawing.PointF(100, 100 + (i * 100));
    var horizontalEnd = new IronSoftware.Drawing.PointF(500, 100 + (i * 100));
    pdf.DrawLine(0, horizontalStart, horizontalEnd, 2, new IronSoftware.Drawing.Color("#0000FF"));

    // Draw vertical lines
    var verticalStart = new IronSoftware.Drawing.PointF(100 + (i * 100), 100);
    var verticalEnd = new IronSoftware.Drawing.PointF(100 + (i * 100), 500);
    pdf.DrawLine(0, verticalStart, verticalEnd, 2, new IronSoftware.Drawing.Color("#0000FF"));
}
' Create a grid pattern with horizontal and vertical lines
For i As Integer = 0 To 4
    ' Draw horizontal lines
    Dim horizontalStart = New IronSoftware.Drawing.PointF(100, 100 + (i * 100))
    Dim horizontalEnd = New IronSoftware.Drawing.PointF(500, 100 + (i * 100))
    pdf.DrawLine(0, horizontalStart, horizontalEnd, 2, New IronSoftware.Drawing.Color("#0000FF"))

    ' Draw vertical lines
    Dim verticalStart = New IronSoftware.Drawing.PointF(100 + (i * 100), 100)
    Dim verticalEnd = New IronSoftware.Drawing.PointF(100 + (i * 100), 500)
    pdf.DrawLine(0, verticalStart, verticalEnd, 2, New IronSoftware.Drawing.Color("#0000FF"))
Next
$vbLabelText   $csharpLabel

Essa técnica é particularmente útil ao criar formulários ou layouts estruturados em seus PDFs. Para obter mais informações sobre como criar formulários, consulte nosso guia sobre como criar formulários em PDF .

Como faço para desenhar retângulos em PDFs usando C#?

Para adicionar retângulos a PDFs, use o método DrawRectangle. Assim que o documento PDF for aberto ou renderizado, este método estará disponível para o objeto PdfDocument . Configure as coordenadas, largura e altura do retângulo com a classe RectangleF oferecida pela documentação da API do IronDrawing .

Os retângulos são formas versáteis que podem ser usadas para diversos fins em documentos PDF:

  • Criar bordas em torno de conteúdo importante
  • Destacar trechos de texto ou imagens
  • Criar campos de formulário e caixas de seleção
  • Criação de cabeçalhos e rodapés
  • Criar separadores visuais entre seções

O método DrawRectangle oferece opções para cores de contorno e preenchimento, permitindo criar retângulos com contorno, retângulos preenchidos ou uma combinação de ambos. Essa flexibilidade o torna ideal para marcas d'água personalizadas e outros aprimoramentos visuais.

:path=/static-assets/pdf/content-code-examples/how-to/draw-line-and-rectangle-draw-rectangle.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");

// Configure the required parameters
int pageIndex = 0;
var rectangle = new IronSoftware.Drawing.RectangleF(200, 100, 1000, 100);
var lineColor = new IronSoftware.Drawing.Color("#000000");
var fillColor = new IronSoftware.Drawing.Color("#32AB90");
int lineWidth = 5;

// Draw rectangle on PDF
pdf.DrawRectangle(pageIndex, rectangle, lineColor, fillColor, lineWidth);

pdf.SaveAs("drawRectangle.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")

' Configure the required parameters
Private pageIndex As Integer = 0
Private rectangle = New IronSoftware.Drawing.RectangleF(200, 100, 1000, 100)
Private lineColor = New IronSoftware.Drawing.Color("#000000")
Private fillColor = New IronSoftware.Drawing.Color("#32AB90")
Private lineWidth As Integer = 5

' Draw rectangle on PDF
pdf.DrawRectangle(pageIndex, rectangle, lineColor, fillColor, lineWidth)

pdf.SaveAs("drawRectangle.pdf")
$vbLabelText   $csharpLabel

Qual é a aparência do desenho do retângulo?

Criando layouts complexos com retângulos

Você pode combinar retângulos com outros elementos de desenho para criar layouts sofisticados. Aqui está um exemplo que cria um modelo de cartão de visita:

// Create a business card template
var cardBorder = new IronSoftware.Drawing.RectangleF(50, 50, 350, 200);
var logoArea = new IronSoftware.Drawing.RectangleF(60, 60, 80, 80);
var textArea = new IronSoftware.Drawing.RectangleF(150, 60, 240, 180);

// Draw the main card border
pdf.DrawRectangle(0, cardBorder, new IronSoftware.Drawing.Color("#000000"), 
                 new IronSoftware.Drawing.Color("#FFFFFF"), 3);

// Draw logo area with light gray background
pdf.DrawRectangle(0, logoArea, new IronSoftware.Drawing.Color("#666666"), 
                 new IronSoftware.Drawing.Color("#F0F0F0"), 1);

// Draw text area border
pdf.DrawRectangle(0, textArea, new IronSoftware.Drawing.Color("#CCCCCC"), 
                 null, 1); // null for no fill
// Create a business card template
var cardBorder = new IronSoftware.Drawing.RectangleF(50, 50, 350, 200);
var logoArea = new IronSoftware.Drawing.RectangleF(60, 60, 80, 80);
var textArea = new IronSoftware.Drawing.RectangleF(150, 60, 240, 180);

// Draw the main card border
pdf.DrawRectangle(0, cardBorder, new IronSoftware.Drawing.Color("#000000"), 
                 new IronSoftware.Drawing.Color("#FFFFFF"), 3);

// Draw logo area with light gray background
pdf.DrawRectangle(0, logoArea, new IronSoftware.Drawing.Color("#666666"), 
                 new IronSoftware.Drawing.Color("#F0F0F0"), 1);

// Draw text area border
pdf.DrawRectangle(0, textArea, new IronSoftware.Drawing.Color("#CCCCCC"), 
                 null, 1); // null for no fill
Imports IronSoftware.Drawing

' Create a business card template
Dim cardBorder As New RectangleF(50, 50, 350, 200)
Dim logoArea As New RectangleF(60, 60, 80, 80)
Dim textArea As New RectangleF(150, 60, 240, 180)

' Draw the main card border
pdf.DrawRectangle(0, cardBorder, New Color("#000000"), New Color("#FFFFFF"), 3)

' Draw logo area with light gray background
pdf.DrawRectangle(0, logoArea, New Color("#666666"), New Color("#F0F0F0"), 1)

' Draw text area border
pdf.DrawRectangle(0, textArea, New Color("#CCCCCC"), Nothing, 1) ' Nothing for no fill
$vbLabelText   $csharpLabel

Melhores práticas e dicas

Ao trabalhar com linhas e retângulos em PDFs, considere estas boas práticas:

Compreensão do Sistema de Coordenadas

O sistema de coordenadas do PDF começa no canto inferior esquerdo da página, com X aumentando para a direita e Y aumentando para cima. Isso difere de muitos sistemas de coordenadas baseados em tela. Compreender isso é crucial para um posicionamento preciso. Para obter mais detalhes sobre o layout da página, consulte nosso guia sobre margens personalizadas .

Considerações sobre o desempenho

Ao desenhar várias formas, utilize operações em lote sempre que possível. Em vez de salvar o PDF após cada forma, desenhe todas as formas primeiro e depois salve de uma só vez. Essa abordagem é especialmente importante ao trabalhar com arquivos PDF grandes .

Seleção de cores

Utilize esquemas de cores consistentes em todo o seu documento. Considere a acessibilidade, garantindo contraste suficiente entre as cores das linhas/preenchimento e o fundo. A biblioteca IronDrawing suporta vários formatos de cores, incluindo códigos hexadecimais, valores RGB e cores nomeadas.

Integração com outras funcionalidades

As operações de desenho funcionam bem com outros recursos do IronPDF . Você pode:

  • Desenhe em PDFs existentes carregados de arquivos
  • Adicionar formas a PDFs gerados a partir de HTML
  • Combine desenho com carimbo de texto e imagem
  • Utilize o desenho com configurações de orientação da página

Para exemplos dessas integrações, consulte nossos guias sobre como criar novos PDFs , inserir texto como carimbo em imagens e rotação da orientação da página .

Tratamento de erros

Ao desenhar em PDFs, implemente sempre um tratamento de erros adequado:

try 
{
    pdf.DrawLine(pageIndex, start, end, width, color);
    pdf.DrawRectangle(pageIndex, rectangle, lineColor, fillColor, lineWidth);
    pdf.SaveAs("output.pdf");
}
catch (Exception ex)
{
    Console.WriteLine($"Error drawing on PDF: {ex.Message}");
    // Handle the error appropriately
}
try 
{
    pdf.DrawLine(pageIndex, start, end, width, color);
    pdf.DrawRectangle(pageIndex, rectangle, lineColor, fillColor, lineWidth);
    pdf.SaveAs("output.pdf");
}
catch (Exception ex)
{
    Console.WriteLine($"Error drawing on PDF: {ex.Message}");
    // Handle the error appropriately
}
Imports System

Try
    pdf.DrawLine(pageIndex, start, end, width, color)
    pdf.DrawRectangle(pageIndex, rectangle, lineColor, fillColor, lineWidth)
    pdf.SaveAs("output.pdf")
Catch ex As Exception
    Console.WriteLine($"Error drawing on PDF: {ex.Message}")
    ' Handle the error appropriately
End Try
$vbLabelText   $csharpLabel

Começando

Para começar a usar os recursos de desenho do IronPDF em seu projeto, siga nossa visão geral de instalação ou consulte o guia de início rápido para uma introdução completa ao IronPDF.

Para operações de desenho mais avançadas, incluindo a adição de texto e bitmaps aos seus PDFs, explore nosso guia sobre como desenhar texto e bitmaps . Essas funcionalidades, combinadas com o desenho de linhas e retângulos, fornecem um conjunto completo de ferramentas para personalização e aprimoramento de PDFs.

Perguntas frequentes

Como faço para desenhar uma linha em um PDF usando C#?

Para desenhar uma linha em um PDF em C#, use o método DrawLine do IronPDF em um objeto PdfDocument. Basta especificar as coordenadas inicial e final, a cor (como um código hexadecimal) e a largura da linha. Por exemplo: pdf.DrawLine(10, 10, 200, 10, "#FF0000", 2) cria uma linha horizontal vermelha.

Quais parâmetros o método DrawLine aceita?

O método DrawLine do IronPDF aceita vários parâmetros: Índice da página (em qual página desenhar), Coordenadas do ponto inicial (X, Y), Coordenadas do ponto final (X, Y), Largura (espessura da linha em pontos) e Cor (usando códigos hexadecimais ou cores predefinidas).

Posso adicionar retângulos a documentos PDF existentes?

Sim, você pode adicionar retângulos a PDFs existentes usando o método DrawRectangle do IronPDF. Esse método permite especificar a posição, as dimensões, a cor da borda, a cor de preenchimento e a espessura da borda do retângulo para criar formas personalizadas em suas páginas de PDF.

Que tipos de formas geométricas posso criar em PDFs?

Com o IronPDF, você pode criar linhas e retângulos em documentos PDF. Essas formas podem ser usadas para criar formulários, diagramas, anotações, bordas, divisores e para destacar seções importantes em seus PDFs.

Preciso criar um novo PDF para adicionar formas, ou posso modificar os existentes?

O IronPDF permite modificar PDFs existentes adicionando formas. Você pode carregar um PDF existente usando PdfDocument.FromFile() e, em seguida, usar os métodos de desenho para adicionar linhas e retângulos sem precisar criar um novo documento do zero.

Como posso controlar a cor das formas no meu PDF?

O IronPDF permite a personalização de cores usando códigos hexadecimais (como "#FF0000" para vermelho) ou cores predefinidas. A classe Color da API IronDrawing oferece opções adicionais para aplicar cores às suas linhas e retângulos.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Downloads 18,318,263 | Versão: 2026.4 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronPdf
executar um exemplo Veja seu HTML se transformar em um PDF.