Adicionar formas em documentos PDF usando C#

Pode ser necessário adicionar vários tipos de gráficos ou formas aos seus arquivos PDF para apresentar dados ou informações de forma interativa. Como desenvolvedor C#, você pode adicionar formas de desenho em documentos PDF programaticamente. Neste artigo, você aprenderá como adicionar formas em documentos PDF usando C#.

Os seguintes tópicos são discutidos/abordados neste artigo:

  1. API C# para desenhar formas em documentos PDF
  2. Criar retângulo preenchido em documentos PDF usando C#
  3. Adicionar círculo em documentos PDF usando C#
  4. Desenhe linhas na página em documentos PDF usando C#
  5. Adicionar elipse em documentos PDF usando C#

API C# para desenhar formas em documentos PDF

Para adicionar formas em arquivos PDF, usaremos Aspose.PDF for .NET API. Ele permite gerar, modificar, converter, renderizar, proteger e imprimir documentos suportados sem usar o Adobe Acrobat. Ele também oferece opções de compactação, criação e manipulação de tabelas, funções de gráficos e imagens, tarefas de carimbo e marca d’água, controles de segurança estendidos e manipulação de fontes personalizadas.

Você pode baixar a DLL da API ou instalá-la usando NuGet.

Install-Package Aspose.PDF

Criar retângulo preenchido em documentos PDF usando C#

Você pode criar um retângulo preenchido em documentos PDF programaticamente seguindo as etapas abaixo:

  • Primeiramente, crie um novo documento usando a classe Document.
  • Agora, chame o método Document.Pages.Add() para adicionar uma página vazia à coleção de páginas do arquivo PDF.
  • Crie uma instância da classe Graph com altura e largura para o gráfico.
  • Em seguida, chame o método Page.Paragraphs.Add() para adicionar o objeto gráfico à coleção de parágrafos da instância da página.
  • Agora, crie uma instância da classe Rectangle e defina sua posição esquerda e inferior, juntamente com sua largura e altura.
  • Opcionalmente, especifique a cor de preenchimento para o objeto Gráfico.
  • Em seguida, adicione o objeto retângulo à coleção de formas do objeto Graph.
  • Finalmente, chame o método Document.Save() com o caminho do arquivo de saída para salvar o arquivo.

O exemplo de código a seguir mostra como criar um retângulo preenchido em documentos PDF usando C#.

// Criar instância de documento
Document doc = new Document();

// Adicionar página à coleção de páginas do arquivo PDF
Page page = doc.Pages.Add();

// Criar instância de gráfico
Graph graph = new Graph(100, 400);

// Adicionar objeto gráfico à coleção de parágrafos da instância da página
page.Paragraphs.Add(graph);

// Criar instância Rectangle
Aspose.Pdf.Drawing.Rectangle rect = new Aspose.Pdf.Drawing.Rectangle(100, 100, 200, 120);

// Especifique a cor de preenchimento para o objeto Gráfico
rect.GraphInfo.FillColor = Color.Gray;

// Adicionar objeto retângulo à coleção de formas do objeto Graph
graph.Shapes.Add(rect);

// Salvar arquivo PDF
doc.Save(@"C:\Files\PDF\FilledRectangle_out.pdf");
Crie retângulos preenchidos em documentos PDF usando C#.

Crie retângulos preenchidos em documentos PDF usando C#.

Adicionar círculo em documentos PDF usando C#

Você pode adicionar um círculo em documentos PDF programaticamente seguindo as etapas abaixo:

  • Primeiramente, crie um novo documento usando a classe Document.
  • Agora, chame o método Document.Pages.Add() para adicionar uma página vazia à coleção de páginas do arquivo PDF.
  • Crie uma instância da classe Graph com altura e largura para o gráfico.
  • Em seguida, chame o método Page.Paragraphs.Add() para adicionar o objeto gráfico à coleção de parágrafos da instância da página.
  • Agora, crie uma instância da classe Circle e defina sua posição X e Y, junto com seu raio.
  • Em seguida, defina a cor e a cor de preenchimento do círculo.
  • Adicione o objeto circle à coleção de formas do objeto Graph.
  • Finalmente, chame o método Document.Save() com o caminho do arquivo de saída para salvar o arquivo.

O exemplo de código a seguir mostra como adicionar um círculo em documentos PDF usando C#.

// Criar instância de documento
Document doc = new Document();

// Adicionar página à coleção de páginas do arquivo PDF
Page page = doc.Pages.Add();

// Criar objeto de desenho com determinadas dimensões
Graph graph = new Graph(400, 200);

// criar círculo
Circle circle = new Circle(100, 100, 40);
circle.GraphInfo.Color = Color.Green;
circle.GraphInfo.FillColor = Color.GreenYellow;

graph.Shapes.Add(circle);

// Adicionar objeto Graph à coleção de parágrafos da página
page.Paragraphs.Add(graph);

// Salvar arquivo PDF
doc.Save(@"C:\Files\PDF\FilledCircle_out.pdf");
Adicionar círculo em documentos PDF usando C#.

Adicionar círculo em documentos PDF usando C#.

Desenhe linhas na página em documentos PDF usando C#

Você pode desenhar linhas na página em documentos PDF programaticamente seguindo as etapas abaixo:

  • Primeiramente, crie um novo documento usando a classe Document.
  • Agora, chame o método Document.Pages.Add() para adicionar uma página vazia à coleção de páginas do arquivo PDF.
  • Em seguida, defina as margens da página em todos os lados como 0.
  • Crie uma instância da classe Graph com largura e altura da página.
  • Agora, crie uma instância da classe Line com o array de posição de linha para criar uma linha começando do canto inferior esquerdo até o canto superior direito da página.
  • Em seguida, adicione o objeto de linha à coleção de formas do objeto Graph.
  • Agora, crie outra instância da classe Line com array de posição de linha para desenhar uma linha do canto superior esquerdo da página até o canto inferior direito da página.
  • Em seguida, adicione a segunda instância do objeto de linha à coleção de formas do objeto Graph.
  • Chame o método Page.Paragraphs.Add() para adicionar o objeto gráfico à coleção de parágrafos da instância da página.
  • Finalmente, chame o método Document.Save() com o caminho do arquivo de saída para salvar o arquivo.

O exemplo de código a seguir mostra como desenhar linhas na página em documentos PDF usando C#.

// Criar instância de documento
Document doc = new Document();

// Adicionar página à coleção de páginas do arquivo PDF
Page page = doc.Pages.Add();

// Defina a margem da página em todos os lados como 0
page.PageInfo.Margin.Left = 0;
page.PageInfo.Margin.Right = 0;
page.PageInfo.Margin.Bottom = 0;
page.PageInfo.Margin.Top = 0;

// Criar objeto de gráfico com largura e altura iguais às dimensões da página
Graph graph = new Graph((float)page.PageInfo.Width, (float)page.PageInfo.Height);

// Crie o objeto de primeira linha começando do canto inferior esquerdo ao canto superior direito da página
Line line = new Line(new float[] { (float) page.Rect.LLX, 0, (float) page.PageInfo.Width,
    (float) page.Rect.URY });

// Adicionar linha à coleção de formas do objeto Graph
graph.Shapes.Add(line);

// Desenhe uma linha do canto superior esquerdo da página até o canto inferior direito da página
Line line2 = new Line(new float[] { 0, (float) page.Rect.URY, (float) page.PageInfo.Width,
    (float) page.Rect.LLX });

// Adicionar linha à coleção de formas do objeto Graph
graph.Shapes.Add(line2);

// Adicionar objeto Graph à coleção de parágrafos da página
page.Paragraphs.Add(graph);

// Salvar arquivo PDF
doc.Save(@"C:\Files\PDF\DrawLineAcrossPage_out.pdf");
Desenhe uma linha na página em documentos PDF usando C#.

Desenhe uma linha na página em documentos PDF usando C#.

Adicionar elipse em documentos PDF usando C#

Você pode adicionar uma elipse com texto dentro de documentos PDF programaticamente seguindo as etapas abaixo:

  • Primeiramente, crie um novo documento usando a classe Document.
  • Agora, chame o método Document.Pages.Add() para adicionar uma página vazia à coleção de páginas do arquivo PDF.
  • Crie uma instância da classe Graph com altura e largura para o gráfico.
  • Crie uma instância da classe TextFragment com o valor de texto a ser exibido dentro do objeto de gráfico.
  • Em seguida, defina a fonte e o tamanho do texto.
  • Agora, crie uma instância da classe Ellipse e defina sua posição esquerda e inferior, juntamente com sua largura e altura.
  • Em seguida, defina a cor, preencha a cor e atribua o objeto TextFragment à sua propriedade text.
  • Agora, adicione o objeto elipse à coleção de formas do objeto Graph.
  • Em seguida, chame o método Page.Paragraphs.Add() para adicionar o objeto gráfico à coleção de parágrafos da instância da página.
  • Finalmente, chame o método Document.Save() com o caminho do arquivo de saída para salvar o arquivo.

O exemplo de código a seguir mostra como criar uma elipse com texto em documentos PDF usando C#.

// Criar instância de documento
Document doc = new Document();

// Adicionar página à coleção de páginas do arquivo PDF
Page page = doc.Pages.Add();

// Criar objeto de desenho com determinadas dimensões
Graph graph = new Graph(400, 400);

// Definir texto
TextFragment textFragment = new TextFragment("Ellipse");
textFragment.TextState.Font = FontRepository.FindFont("Helvetica");
textFragment.TextState.FontSize = 24;

// Desenhar elipse
Ellipse ellipse = new Ellipse(100, 100, 120, 180);
ellipse.GraphInfo.FillColor = Color.GreenYellow;
ellipse.GraphInfo.Color = Color.Red;
ellipse.Text = textFragment;

// Adicionar elipse à coleção de formas do objeto Graph
graph.Shapes.Add(ellipse);

// Adicionar objeto Graph à coleção de parágrafos da página
page.Paragraphs.Add(graph);

// Salvar arquivo PDF
doc.Save(@"C:\Files\PDF\EclipseWithText_out.pdf");
Adicione elipse em documentos PDF usando C#.

Adicione elipse em documentos PDF usando C#.

Obtenha uma licença gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como adicionar formas em documentos PDF usando C#. Particularmente, você viu como adicionar um retângulo preenchido, círculo, linha e elipse em documentos PDF programaticamente. Da mesma forma, você pode criar um arco e uma curva em arquivos PDF. Você pode aprender mais sobre Aspose.PDF para .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também