Ajouter des formes de lignes au PDF en Java

Ajouter une ligne pointillée

  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 Ligne et configurez ses coordonnées.
  5. Ajoutez la Ligne au conteneur Graph.
  6. Enregistrez le PDF de sortie Document.
public static void addLine(Path outputFile) {
    try (Document document = new Document()) {
        Page page = document.getPages().add();
        Graph graph = new Graph(100.0, 400.0);
        page.getParagraphs().add(graph);

        Line line = new Line(new float[]{100, 100, 200, 100});
        line.getGraphInfo().setDashArray(new int[]{0, 1, 0});
        line.getGraphInfo().setDashPhase(1);
        graph.getShapes().addItem(line);

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

Ajouter une ligne colorée en pointillés ou en tirets

addDottedDashedLine utilise les mêmes coordonnées et paramètres de tiret, mais applique également Color.getRed().

Tracer des lignes sur la page

  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 Ligne et configurez ses coordonnées.
  5. Ajoutez la Ligne au conteneur Graph.
  6. Enregistrez le PDF de sortie Document.
public static void drawLineAcrossPage(Path outputFile) {
    try (Document document = new Document()) {
        Page page = document.getPages().add();
        page.getPageInfo().getMargin().setLeft(0);
        page.getPageInfo().getMargin().setRight(0);
        page.getPageInfo().getMargin().setBottom(0);
        page.getPageInfo().getMargin().setTop(0);

        Graph graph = new Graph(page.getPageInfo().getWidth(), page.getPageInfo().getHeight());
        Line line = new Line(new float[]{
                (float) page.getRect().getLLX(),
                0,
                (float) page.getPageInfo().getWidth(),
                (float) page.getRect().getURY()
        });
        graph.getShapes().addItem(line);
        page.getParagraphs().add(graph);

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