Ajouter des formes rectangulaires au PDF en Java

Ajouter un contour de rectangle

  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 Rectangle et configurez sa géométrie.
  5. Ajoutez le Rectangle au conteneur Graph.
  6. Enregistrez le PDF de sortie Document.
public static void addRectangle(Path outputFile) {
    try (Document document = new Document()) {
        Page page = document.getPages().add();
        Graph graph = new Graph(400.0, 300.0);
        page.getParagraphs().add(graph);
        graph.setBorder(new BorderInfo(BorderSide.All, Color.getRed()));

        Rectangle rectangle = new Rectangle(20, 20, 350, 250);
        graph.getShapes().addItem(rectangle);

        document.save(outputFile.toString());
    }
}

Remplir un rectangle avec une couleur unie ou dégradée

Les exemples de rectangles incluent :

  • createRectangleFilled pour un remplissage solide avec Color.getRed()
  • addDrawingWithGradientFill pour un remplissage GradientAxialShading

Utiliser la transparence alpha

createRectangleWithAlphaColorChannel applique des couleurs translucides avec Color.fromArgb(...) afin que les rectangles qui se chevauchent restent visibles.

Contrôler l’ordre z des rectangles

  1. Créez un nouveau document PDF Document.
  2. Ajoutez une Page au document.
  3. Définissez la taille de Page requise.
  4. Ajoutez les formes Rectangle configurées à la page cible avec l’ordre z requis.
  5. Enregistrez le PDF de sortie Document.
public static void controlZOrderOfRectangle(Path outputFile) {
    try (Document document = new Document()) {
        Page page = document.getPages().add();
        page.setPageSize(375, 300);
        page.getPageInfo().getMargin().setLeft(0);
        page.getPageInfo().getMargin().setTop(0);

        addRectangleToPage(page, 50, 40, 60, 40, Color.getRed(), 2);
        addRectangleToPage(page, 20, 20, 30, 30, Color.getBlue(), 1);
        addRectangleToPage(page, 40, 40, 60, 30, Color.getGreen(), 0);

        document.save(outputFile.toString());
    }
}