Ajouter des formes d'ellipse au PDF en Java

Ajouter des contours d’ellipse

  1. Créez un nouveau document PDF Document.
  2. Ajoutez une Page au document.
  3. Créez un conteneur Graph et ajoutez-le à la page.
  4. Créez la forme Ellipse et configurez sa géométrie.
  5. Ajoutez l’Ellipse au conteneur Graph.
  6. Définissez les propriétés de forme requises par l’exemple, notamment Color et TextFragment.
  7. Enregistrez le PDF de sortie 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());
    }
}

L’exemple complet ajoute deux ellipses de contour différentes au même graphique.

Ajouter des ellipses remplies

createEllipseFilled remplit deux ellipses avec Color.getGreenYellow() et Color.getDarkRed().

Ajouter du texte à l’intérieur des ellipses

  1. Créez un nouveau document PDF Document.
  2. Ajoutez une Page au document.
  3. Créez un TextFragment et définissez les options de formatage de texte requises.
  4. Créez un conteneur Graph et ajoutez-le à la page.
  5. Créez la forme Ellipse et configurez sa géométrie.
  6. Ajoutez l’Ellipse au conteneur Graph.
  7. Enregistrez le PDF de sortie 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());
    }
}