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 に円弧や扇形を描画する
指定した位置に弧や扇形を描画するには、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 に長方形を描画する
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 に楕円を描画する
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();
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。