Criar gráficos e tabelas em PDF em Java

Gráficos e tabelas são usados para representar visualmente os dados em arquivos PDF. Além disso, você pode usá-los para descrever graficamente o fluxo das atividades ou operações em um sistema, como fluxogramas. Neste artigo, você aprenderá como criar gráficos e tabelas em arquivos PDF programaticamente em Java. Abordaremos explicitamente como criar diferentes objetos gráficos em um arquivo PDF.

API Java para criar gráficos e tabelas em PDF

Aspose.PDF for Java é uma API incrível que fornece uma variedade de recursos para geração e manipulação de PDF. Usando a API, você pode criar facilmente arquivos PDF de layouts simples e complexos. Usaremos esta API para criar gráficos e tabelas em arquivos PDF. Você pode baixar a API ou instalá-la usando as seguintes configurações do Maven.

Repository:
<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Dependency:
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.4</version>
</dependency>

Criar um arco em um PDF em Java

A seguir estão as etapas para adicionar um arco em PDF em Java.

  1. Crie um novo PDF ou carregue um existente usando a classe Document.
  2. Crie um objeto Graph com dimensões.
  3. Defina BorderInfo para o objeto gráfico.
  4. Crie uma instância da classe Arc e defina suas dimensões e outros parâmetros.
  5. Adicione um arco à coleção de formas do Graph usando o método Graph.getShapes().add(Arc).
  6. Adicione um gráfico à página usando o método Page.getParagraphs().add(Graph).
  7. Salve o arquivo PDF usando o método Document.save(String).

O exemplo de código a seguir mostra como adicionar arcos em um PDF em Java.

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

// Adicionar página à coleção de páginas do arquivo PDF
Page page = pdfDocument.getPages().add();

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

// Definir borda para objeto de desenho
BorderInfo borderInfo = new BorderInfo(BorderSide.All, Color.getGreen());
graph.setBorder(borderInfo);

// Crie um arco
Arc arc1 = new Arc(100, 100, 95, 0, 90);
arc1.getGraphInfo().setColor(Color.getGreenYellow());
graph.getShapes().add(arc1);

Graph graph2 = new Graph(400, 400);

// Crie um arco preenchido
Arc arc = new Arc(100, 100, 95, 0, 90);
arc.getGraphInfo().setFillColor(Color.getGreenYellow());
graph2.getShapes().add(arc);

Line line = new Line(new float[] { 195, 100, 100, 100, 100, 195 });
line.getGraphInfo().setFillColor(Color.getGreenYellow());
graph2.getShapes().add(line);

// Adicionar objeto gráfico à coleção de parágrafos da página
page.getParagraphs().add(graph);
page.getParagraphs().add(graph2);

// Salvar arquivo PDF
pdfDocument.save("create-arc.pdf");

A seguir estão os arcos que geramos usando o exemplo de código acima.

Criar um arco em PDF em Java

Criar um círculo em um PDF em Java

A seguir estão as etapas para adicionar um círculo a um arquivo PDF em Java.

  1. Crie um novo PDF ou carregue um existente usando a classe Document.
  2. Crie um objeto Graph com dimensões.
  3. Defina BorderInfo para o objeto gráfico.
  4. Crie uma instância da classe Circle e defina suas dimensões.
  5. Adicione um círculo à coleção de formas do Graph usando o método Graph.getShapes().add(Circle).
  6. Adicione gráfico à página usando o método Page.getParagraphs().add(Graph).
  7. Salve o arquivo PDF usando o método Document.save(String).

O exemplo de código a seguir mostra como adicionar um círculo em PDF em Java.

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

// Adicionar página à coleção de páginas do arquivo PDF
Page page = pdfDocument.getPages().add();

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

// Definir borda para objeto de desenho
BorderInfo borderInfo = new BorderInfo(BorderSide.All, Color.getGreen());
graph.setBorder(borderInfo);

// Criar círculo
Circle circle = new Circle(100,100,40);
circle.getGraphInfo().setColor(Color.getGreenYellow());       
circle.getGraphInfo().setFillColor(Color.getGreenYellow());

graph.getShapes().add(circle);

// Adicionar objeto gráfico à coleção de parágrafos da página
page.getParagraphs().add(graph);

// Salvar arquivo PDF
pdfDocument.save("create-circle.pdf");

A seguir está o círculo que geramos usando o exemplo de código acima.

Criar um círculo em PDF em Java

Adicionar uma curva em um PDF em Java

A seguir estão as etapas para adicionar uma curva em um arquivo PDF em Java.

  1. Crie um novo PDF ou carregue um existente usando a classe Document.
  2. Crie um objeto Graph com dimensões.
  3. Defina BorderInfo para o objeto gráfico.
  4. Crie uma instância da classe Curve e defina suas dimensões.
  5. Adicione curva à coleção de formas do Graph usando o método Graph.getShapes().add(Curve).
  6. Adicione um gráfico à página usando o método Page.getParagraphs().add(Graph).
  7. Salve o arquivo PDF usando o método Document.save(String).

O exemplo de código a seguir mostra como adicionar curvas a um arquivo PDF em Java.

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

// Adicionar página à coleção de páginas do arquivo PDF
Page page = pdfDocument.getPages().add();

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

// Definir borda para objeto de desenho
BorderInfo borderInfo = new BorderInfo(BorderSide.All, Color.getGreen());
graph.setBorder(borderInfo);

// Criar uma curva
Curve curve1 = new Curve(new float[] { 10, 10, 50, 60, 70, 10, 100, 120});

curve1.getGraphInfo().setColor(Color.getGreenYellow());
graph.getShapes().add(curve1);

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

// Criar curva preenchida
Curve curve2 = new Curve(new float[] { 50, 30, 200, 60, 70, 10, 100, 120});
curve2.getGraphInfo().setFillColor(Color.getGreenYellow());
graph2.getShapes().add(curve2);

// Adicionar objeto gráfico à coleção de parágrafos da página
page.getParagraphs().add(graph);        
page.getParagraphs().add(graph2);

// Salvar arquivo PDF
pdfDocument.save("create-curve.pdf");

A seguir estão as curvas que geramos usando o exemplo de código acima.

Adicionar uma curva em PDF em Java

Adicionar uma linha em um PDF em Java

A seguir estão as etapas para adicionar uma linha em um PDF usando Java.

  1. Crie um novo PDF ou carregue um existente usando a classe Document.
  2. Crie um objeto Graph com dimensões.
  3. Defina BorderInfo para o objeto gráfico.
  4. Crie uma instância da classe Line e defina suas dimensões.
  5. Defina outras propriedades da linha, como estilo, largura, etc.
  6. Adicione linha à coleção de formas do Graph usando o método Graph.getShapes().add(Line).
  7. Adicione um gráfico à página usando o método Page.getParagraphs().add(Graph).
  8. Salve o arquivo PDF usando o método Document.save(String).

O exemplo de código a seguir mostra como adicionar linhas em PDF em Java.

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

// Adicionar página à coleção de páginas do arquivo PDF
Page page = pdfDocument.getPages().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.getParagraphs().add(graph);

// Criar instância de linha
Line line = new Line(new float[] { 300, 200, 200, 100 });

line.getGraphInfo().setLineWidth(5);

// Adicionar objeto retângulo à coleção de formas do objeto Graph
graph.getShapes().add(line);

// Criar linha tracejada
Line line2 = new Line(new float[] { 100, 100, 200, 100 });

// Definir cor para objeto de linha
line2.getGraphInfo().setColor(Color.getRed());

// Definir largura da linha
line2.getGraphInfo().setLineWidth(5);

// Especificar matriz de traço para objeto de linha
line2.getGraphInfo().setDashArray(new int[] { 0, 1, 0 });

// Defina a fase do traço para a instância de linha
line2.getGraphInfo().setDashPhase(1);

// Adicionar linha à coleção de formas do objeto de desenho
graph.getShapes().add(line2);

// Salvar arquivo PDF
pdfDocument.save("create-line.pdf");

A seguir estão as linhas que criamos usando o exemplo de código acima.

Adicionar uma linha em PDF em Java

Criar um retângulo em PDF em Java

Semelhante a outros objetos gráficos, você pode adicionar um retângulo ao PDF. Além disso, você pode preencher o retângulo com uma determinada cor, controlar Z-Order, adicionar cor gradiente, etc. A seguir estão os passos para criar um retângulo em um arquivo PDF em Java.

  1. Crie um novo PDF ou carregue um existente usando a classe Document.
  2. Crie um objeto Graph com dimensões.
  3. Defina BorderInfo para o objeto gráfico.
  4. Crie uma instância da classe Rectangle e defina suas dimensões.
  5. Defina outras propriedades do retângulo, como cor de preenchimento, gradiente, etc.
  6. Adicione retângulo à coleção de formas do Graph usando o método Graph.getShapes().add(Rectangle).
  7. Adicione um gráfico à página usando o método Page.getParagraphs().add(Graph).
  8. Salve o arquivo PDF usando o método Document.save(String).

O exemplo de código a seguir mostra como adicionar retângulos em PDF em Java.

// Criar novo arquivo PDF
Document pdfDocument = new Document();

// Adicionar página à coleção de páginas do arquivo PDF
Page page = pdfDocument.getPages().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.getParagraphs().add(graph);

// Criar instância Rectangle
com.aspose.pdf.drawing.Rectangle rect = new com.aspose.pdf.drawing.Rectangle(300, 100, 200, 120);

// Especifique a cor de preenchimento para o objeto Gráfico
rect.getGraphInfo().setFillColor(Color.getRed());

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

// Preencha retângulo com gradiente
com.aspose.pdf.drawing.Rectangle rect2 = new com.aspose.pdf.drawing.Rectangle(0, 0, 300, 300);
graph.getShapes().add(rect2);

// Especifique a cor de preenchimento de gradiente para objeto de gráfico e preenchimento
Color gradientFill = new com.aspose.pdf.Color();
rect2.getGraphInfo().setFillColor(gradientFill);

// Definir gradiente
GradientAxialShading gradientAxialShading = new GradientAxialShading(Color.getRed(), Color.getBlue());
gradientAxialShading.setStart(new Point(0, 0));
gradientAxialShading.setEnd(new Point(300, 300));
gradientFill.setPatternColorSpace(gradientAxialShading);

// Salvar arquivo PDF
pdfDocument.save("create-rectangle.pdf");

A seguir estão os retângulos que criamos usando o exemplo de código acima.

Criar um retângulo em PDF em Java

Criar uma elipse em PDF em Java

Por último, mas não menos importante, vamos dar uma olhada em como criar uma elipse em PDF em Java.

  1. Crie um novo PDF ou carregue um existente usando a classe Document.
  2. Crie um objeto Graph com dimensões.
  3. Defina BorderInfo para o objeto gráfico.
  4. Crie uma instância da classe Elipse e defina suas dimensões.
  5. Defina outras propriedades da elipse, como cor de preenchimento, etc.
  6. Adicione elipse à coleção de formas do Graph usando o método Graph.getShapes().add(Ellipse).
  7. Adicione um gráfico à página usando o método Page.getParagraphs().add(Graph).
  8. Salve o arquivo PDF usando o método Document.save(String).

O exemplo de código a seguir mostra como adicionar uma elipse em um arquivo PDF em Java.

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

// Adicionar página à coleção de páginas do arquivo PDF
Page page = pdfDocument.getPages().add();

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

// Definir borda para objeto de desenho
BorderInfo borderInfo = new BorderInfo(BorderSide.All, Color.getGreen());
graph.setBorder(borderInfo);

// Criar elipse
Ellipse ellipse1 = new Ellipse(100, 100, 120, 60);
ellipse1.getGraphInfo().setColor(Color.getGreenYellow());
ellipse1.setText(new TextFragment("Ellipse"));
graph.getShapes().add(ellipse1);

// Criar elipse preenchida
Ellipse ellipse2 = new Ellipse(200, 100, 120, 180);
ellipse2.getGraphInfo().setFillColor(Color.getGreenYellow());
graph.getShapes().add(ellipse2);

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

// Salvar arquivo PDF
pdfDocument.save("create-ellipse.pdf");

A seguir estão as elipses que criamos usando o exemplo de código acima.

Criar uma elipse em PDF em Java

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para usar o Aspose.PDF para Java sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como criar diferentes objetos de tabelas e gráficos em arquivos PDF usando Java. Você viu como adicionar arcos, círculos, retângulos, linhas, curvas e elipses em um PDF. Além disso, você pode explorar mais sobre a API Java PDF usando a documentação. Caso você tenha alguma dúvida ou pergunta, você pode entrar em contato conosco através do nosso fórum.

Veja também