Agregar formas de elipse a PDF en Java

Agregar contornos de elipse

  1. Cree un nuevo PDF Document.
  2. Agregue un Page al documento.
  3. Cree un Graph contenedor y añádalo a la página.
  4. Cree el Ellipse forma y configure su geometría.
  5. Añada el Ellipse al Graph contenedor.
  6. Establezca las propiedades de forma requeridas por el ejemplo, incluyendo Color y TextFragment.
  7. Guarde el PDF de salida 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());
    }
}

El ejemplo completo agrega dos elipses de contorno diferentes al mismo gráfico.

Agregar elipses rellenas

createEllipseFilled rellena dos elipsis con Color.getGreenYellow() y Color.getDarkRed().

Agregar texto dentro de las elipses

  1. Cree un nuevo PDF Document.
  2. Agregue un Page al documento.
  3. Cree un TextFragment y establezca las opciones de formato de texto requeridas.
  4. Cree un Graph contenedor y añádalo a la página.
  5. Cree el Ellipse forma y configure su geometría.
  6. Añada el Ellipse al Graph contenedor.
  7. Guarde el PDF de salida 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());
    }
}