Adicionar formas de elipse ao PDF em Java

Adicionar contornos de elipse

  1. Crie um novo documento PDF Document.
  2. Adicione um Page ao documento.
  3. Crie um Graph contêiner e adicione-o à página.
  4. Crie o Ellipse forma e configure sua geometria.
  5. Adicione o Ellipse para o Graph contêiner.
  6. Defina as propriedades da forma exigidas pelo exemplo, incluindo Color e TextFragment.
  7. Salve o PDF de saída Document.
public static void addEllipse(Path outputFile) {
    try (Document document = new Document()) {
        Page page = document.getPages().add();
        Graph graph = new Graph(400.0, 400.0);
        graph.setBorder(new BorderInfo(BorderSide.All, Color.getGreen()));

        Ellipse ellipse1 = new Ellipse(150, 100, 120, 60);
        ellipse1.getGraphInfo().setColor(Color.getGreenYellow());
        ellipse1.setText(new TextFragment("Ellipse"));
        graph.getShapes().addItem(ellipse1);

        page.getParagraphs().add(graph);
        document.save(outputFile.toString());
    }
}

O exemplo completo adiciona duas elipses de contorno diferentes ao mesmo gráfico.

Adicionar elipses preenchidas

createEllipseFilled preenche duas reticências com Color.getGreenYellow() e Color.getDarkRed().

Adicionar texto dentro das elipses

  1. Crie um novo documento PDF Document.
  2. Adicione um Page ao documento.
  3. Crie um TextFragment e defina as opções de formatação de texto necessárias.
  4. Crie um Graph contêiner e adicione-o à página.
  5. Crie o Ellipse forma e configure sua geometria.
  6. Adicione o Ellipse para o Graph contêiner.
  7. Salve o PDF de saída Document.
public static void addTextInsideEllipse(Path outputFile) {
    try (Document document = new Document()) {
        Page page = document.getPages().add();
        Graph graph = new Graph(400.0, 400.0);
        graph.setBorder(new BorderInfo(BorderSide.All, Color.getGreen()));

        TextFragment textFragment = new TextFragment("Ellipse");
        textFragment.getTextState().setFont(FontRepository.findFont("Helvetica"));
        textFragment.getTextState().setFontSize(24);

        Ellipse ellipse1 = new Ellipse(100, 100, 120, 180);
        ellipse1.getGraphInfo().setFillColor(Color.getGreenYellow());
        ellipse1.setText(textFragment);
        graph.getShapes().addItem(ellipse1);

        page.getParagraphs().add(graph);
        document.save(outputFile.toString());
    }
}