Java での PDF への楕円形の追加

楕円形の輪郭の追加

  1. 新しい PDF の Document を作成してください。
  2. Page をドキュメントに追加してください。
  3. Graph コンテナを作成し、ページに追加してください。
  4. Ellipse オブジェクトを作成し、そのジオメトリを構成してください。
  5. Ellipse を Graph コンテナに追加してください。
  6. Color や TextFragment など、この例で必要な図形のプロパティを設定してください。
  7. 出力 PDF を 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());
    }
}

完全な例では、同じグラフに 2 つの異なるアウトライン楕円を追加します。

塗りつぶし楕円の追加

createEllipseFilled は、Color.getGreenYellow() と Color.getDarkRed() を使用して二つの楕円を塗りつぶします。

楕円の内部へのテキストの追加

  1. 新しい PDF の Document を作成してください。
  2. Page をドキュメントに追加してください。
  3. TextFragment を作成し、必要なテキスト書式設定オプションを設定してください。
  4. Graph コンテナを作成し、ページに追加してください。
  5. Ellipse オブジェクトを作成し、そのジオメトリを構成してください。
  6. Ellipse を Graph コンテナに追加してください。
  7. 出力 PDF を 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());
    }
}