Java での PDF へのラインシェイプの追加

破線の追加

  1. 新しい PDF の Document を作成してください。
  2. Page をドキュメントに追加してください。
  3. Graph コンテナを作成し、ページに追加してください。
  4. Line シェイプを作成し、座標を設定してください。
  5. Line を Graph コンテナに追加してください。
  6. 出力 PDF を 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());
    }
}

色付きの点線または破線の追加

addDottedDashedLine は同じ座標とダッシュ設定を使用しますが、さらに Color.getRed() を適用します。

ページ全体に線を描く

  1. 新しい PDF の Document を作成してください。
  2. Page をドキュメントに追加してください。
  3. Graph コンテナを作成し、ページに追加してください。
  4. Line シェイプを作成し、座標を設定してください。
  5. Line を Graph コンテナに追加してください。
  6. 出力 PDF を 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());
    }
}