チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Java»Spire.PDF for Java»図形»Java:PDF ドキュメントに図形を描画する方法
2024-11-29

Java:PDF ドキュメントに図形を描画する方法

PDF ドキュメントに四角形、楕円、線などの図形を描画することで、ドキュメントの視覚的効果を高め、重要なポイントを強調することができます。レポートやプレゼンテーション、論文を作成する際、文章だけでは表現が難しい概念やデータの関係性を図形で補足すると、情報をより明確に伝えられます。本記事では、Java で Spire.PDF for Java を使用して PDF ドキュメントに図形を描画する方法を説明します。

Spire.PDF for Java をインストールします

まず、Spire.PDF for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.pdf</artifactId>
        <version>10.10.7</version>
    </dependency>
</dependencies>

Java で PDF に線を描画する

Spire.PDF for Java では、PdfPageBase.getCanvas().drawLine(PdfPen pen, float x1, float y1, float x2, float y2) メソッドを使用して、指定した位置に線を描画できます。また、PDF ペンのスタイルを変更することで、実線や点線などの異なる線を描画可能です。以下に詳細な手順を示します。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.getPages().add() メソッドを使用して PDF ページを追加します。
  • PdfPageBase.getCanvas().save() メソッドで現在の描画状態を保存します。
  • 線の開始位置(x, y 座標)と長さを定義します。
  • 色と太さを指定して PdfPen オブジェクトを作成します。
  • PdfPageBase.getCanvas().drawLine() メソッドを使用して、ペンで実線を描画します。
  • ペンのスタイルを点線に変更し、点線パターンを設定します。
  • 点線スタイルのペンを使用して点線を描画します。
  • PdfPageBase.getCanvas().restore() メソッドで以前の描画状態を復元します。
  • PdfDocument.saveToFile() メソッドで結果を PDF ファイルとして保存します。
  • Java
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

import java.awt.*;

public class drawLinePDF {
    public static void main(String[] args) {
        // PdfDocumentオブジェクトを作成します
        PdfDocument pdf = new PdfDocument();

        // ページを追加します
        PdfPageBase page = pdf.getPages().add();

        // 現在の描画状態を保存します
        PdfGraphicsState state = page.getCanvas().save();

        // 線の開始位置のXおよびY座標を指定します
        float x = 100;
        float y = 70;

        // 線の長さを指定します
        float width = 300;

        // 青色で太さ2のPDFペンを作成します
        PdfPen pen = new PdfPen(new PdfRGBColor(Color.BLUE), 2f);

        // ペンを使用してページに実線を描画します
        page.getCanvas().drawLine(pen, x, y, x + width, y);

        // ペンのスタイルを点線に設定します
        pen.setDashStyle(PdfDashStyle.Dash);

        // 点線のパターンを設定します
        pen.setDashPattern(new float[]{1, 4, 1});

        // ペンを使用してページに点線を描画します
        page.getCanvas().drawLine(pen, x, y+30, x + width, y+30);

        // 保存した描画状態を復元します
        page.getCanvas().restore(state);

        // PDFドキュメントを保存します
        pdf.saveToFile("output/PDFで線を描く.pdf");

        // ドキュメントを閉じ、リソースを解放します
        pdf.close();
        pdf.dispose();
    }
}

JavaでPDFに線を描いた結果

Java で PDF に円弧や扇形を描画する

指定した位置に弧や扇形を描画するには、PdfPageBase.getCanvas().drawArc() および PdfPageBase.getCanvas().drawPie() メソッドを使用します。以下はその詳細手順です。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.getPages().add() メソッドを使用して PDF ページを追加します。
  • PdfPageBase.getCanvas().save() メソッドで現在の描画状態を保存します。
  • 色と太さを指定して PdfPen オブジェクトを作成します。
  • PdfPageBase.getCanvas().drawArc() メソッドを使用して弧を描画します。
  • PdfPageBase.getCanvas().drawPie() メソッドを使用して扇形を描画します。
  • PdfPageBase.getCanvas().restore() メソッドで以前の描画状態を復元します。
  • PdfDocument.saveToFile() メソッドで結果を PDF ファイルとして保存します。
  • Java
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

import java.awt.*;
import java.awt.geom.Rectangle2D;

public class drawArcAndPiePDF {
    public static void main(String[] args) {
        // PdfDocumentオブジェクトを作成します
        PdfDocument pdf = new PdfDocument();

        // ページを追加します
        PdfPageBase page = pdf.getPages().add();

        // 現在の描画状態を保存します
        PdfGraphicsState state = page.getCanvas().save();

        // 指定した色と太さ2のPDFペンを作成します
        PdfPen pen = new PdfPen(new PdfRGBColor(new Color(139,0,0)), 2f);

        // 弧の開始角度と掃引角度を指定します
        float startAngle = 90;
        float sweepAngle = 230;
        // ペンを使用してページに弧を描画します
        Rectangle2D.Float rect = new Rectangle2D.Float(30, 60, 120, 120);
        page.getCanvas().drawArc(pen, rect, startAngle, sweepAngle);

        // 扇形チャートの開始角度と掃引角度を指定します
        float startAngle1 = 0;
        float sweepAngle1 = 330;
        // ペンを使用してページに扇形チャートを描画します
        Rectangle2D.Float rect2 = new Rectangle2D.Float(200, 60, 120, 120);
        page.getCanvas().drawPie(pen, rect2, startAngle1, sweepAngle1);

        // 保存した描画状態を復元します
        page.getCanvas().restore(state);

        // PDFドキュメントを保存します
        pdf.saveToFile("output/PDFに円弧や扇形を描画.pdf");

        // ドキュメントを閉じ、リソースを解放します
        pdf.close();
        pdf.dispose();
    }
}

JavaでPDFに円弧と扇形を描画した結果

Java で PDF に長方形を描画する

Spire.PDF for Java では、PdfPageBase.getCanvas().drawRectangle() メソッドを使用して PDF ページ上に長方形を描画できます。このメソッドに異なるパラメータを渡すことで、位置やサイズ、塗りつぶしの色を指定可能です。以下に詳細手順を示します。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.getPages().add() メソッドを使用して PDF ページを追加します。
  • PdfPageBase.getCanvas().save() メソッドで現在の描画状態を保存します。
  • 色と太さを指定して PdfPen オブジェクトを作成します。
  • PdfPageBase.getCanvas().drawRectangle() メソッドを使用して長方形を描画します。
  • PdfLinearGradientBrush オブジェクトを作成して線形グラデーションを設定します。
  • PdfPageBase.getCanvas().drawRectangle() メソッドを使用してグラデーションで塗りつぶした長方形を描画します。
  • PdfPageBase.getCanvas().restore() メソッドで以前の描画状態を復元します。
  • PdfDocument.saveToFile() メソッドで結果を PDF ファイルとして保存します。
  • Java
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

import java.awt.*;
import java.awt.geom.Rectangle2D;

public class drawRectanglesPDF {
    public static void main(String[] args) {
        // PdfDocumentオブジェクトを作成します
        PdfDocument pdf = new PdfDocument();

        // ページを追加します
        PdfPageBase page = pdf.getPages().add();

        // 現在の描画状態を保存します
        PdfGraphicsState state = page.getCanvas().save();

        // 指定した色と太さ1.5のPDFペンを作成します
        PdfPen pen = new PdfPen(new PdfRGBColor(Color.magenta), 1.5f);

        // ペンを使用してページに長方形を描画します
        page.getCanvas().drawRectangle(pen, new Rectangle(20, 60, 150, 90));

        // 線形グラデーションブラシを作成します
        Rectangle2D.Float rect = new Rectangle2D.Float(220, 60, 150, 90);
        PdfLinearGradientBrush linearGradientBrush = new PdfLinearGradientBrush(
                rect,
                new PdfRGBColor(Color.white),
                new PdfRGBColor(Color.blue),
                PdfLinearGradientMode.Vertical
        );

        // 指定した色と太さ0.5の新しいPDFペンを作成します
        PdfPen pen1 = new PdfPen(new PdfRGBColor(Color.black), 0.5f);

        // 新しいペンと線形グラデーションブラシを使用して塗りつぶしの長方形を描画します
        page.getCanvas().drawRectangle(pen1, linearGradientBrush, rect);

        // 保存した描画状態を復元します
        page.getCanvas().restore(state);

        // PDFドキュメントを保存します
        pdf.saveToFile("output/PDFで矩形を描く.pdf");

        // ドキュメントを閉じ、リソースを解放します
        pdf.close();
        pdf.dispose();
    }
}

 JavaでPDFに矩形を描画した結果

Java で PDF に楕円を描画する

PdfPageBase.getCanvas().drawEllipse() メソッドを使用すると、PDF ページに楕円を描画できます。PDF ペンまたは塗りつぶし用ブラシを使用することで、異なるスタイルの楕円を描画可能です。以下に詳細手順を示します。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.getPages().add() メソッドを使用して PDF ページを追加します。
  • PdfPageBase.getCanvas().save() メソッドで現在の描画状態を保存します。
  • 色と太さを指定して PdfPen オブジェクトを作成します。
  • PdfPageBase.getCanvas().drawEllipse() メソッドを使用して楕円を描画します。
  • PdfSolidBrush オブジェクトを作成します。
  • PdfPageBase.getCanvas().drawEllipse() メソッドを使用して塗りつぶした楕円を描画します。
  • PdfPageBase.getCanvas().restore() メソッドで以前の描画状態を復元します。
  • PdfDocument.saveToFile() メソッドで結果を PDF ファイルとして保存します。
  • Java
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

import java.awt.*;

public class drawEllipsesPDF {
    public static void main(String[] args) {
        // PdfDocumentオブジェクトを作成します
        PdfDocument pdf = new PdfDocument();

        // ページを追加します
        PdfPageBase page = pdf.getPages().add();

        // 現在の描画状態を保存します
        PdfGraphicsState state = page.getCanvas().save();

        // 指定した色と太さのPDFペンを作成します
        PdfPen pen = new PdfPen(new PdfRGBColor(new Color(95, 158, 160)), 1f);
        // ペンを使用してページに楕円を描画します
        page.getCanvas().drawEllipse(pen, 30, 60, 150, 100);

        // 塗りつぶし用の指定した色のブラシを作成します
        PdfBrush brush = new PdfSolidBrush(new PdfRGBColor(new Color(95, 158, 160)));
        // ブラシを使用してページに塗りつぶし楕円を描画します
        page.getCanvas().drawEllipse(brush, 220, 60, 150, 100);

        // 保存した描画状態を復元します
        page.getCanvas().restore(state);

        // PDFドキュメントを保存します
        pdf.saveToFile("output/PDFで楕円を描く.pdf");

        // ドキュメントを閉じ、リソースを解放します
        pdf.close();
        pdf.dispose();
    }
}

JavaでPDFに楕円を描いた結果

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 46 times