PDF を作成する際には、異なる状況に応じて適切なフォントを使用することが重要です。通常の PDF ファイルでは、Arial や Times New Roman などの一般的なフォントでテキストを描画できます。独自のビジュアルアイデンティティを持つ特徴的な PDF を作成したい場合は、プライベートフォントを使用することができます。この記事では、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>9.6.2</version>
</dependency>
</dependencies>
Java の PDF に異なるフォントを適用する
Spire.PDF for Java は、標準フォント, TrueType フォント, 私有フォントおよび CJK フォントをサポートしています。以下は、これらのフォントを使用して PDF でテキストを描画する手順です。
- PdfDocument インスタンスを作成します。
- ページを追加し、ブラシを作成します。
- PdfFont クラスのインスタンスを作成し、PdfPageBase.getCanvas().drawString() メソッドを使用して標準フォントでページ上にテキストを描画します。
- PdfTrueTypeFont クラスのインスタンスを作成し、TrueType フォントでページ上にテキストを描画します。
- PdfTrueTypeFont クラスのインスタンスを作成し、私有フォントを使用してページ上にテキストを描画します。
- PdfCjkStandardFont クラスのインスタンスを作成し、CJK フォントを使用してページ上にテキストを描画します。
- PdfDocument.saveToFile()メソッドを使用して結果文書を保存します。
- Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.*;
public class PdfFonts {
public static void main(String[] args) {
//PdfDocumentインスタンスを作成する
PdfDocument pdf = new PdfDocument();
//ページを追加する
PdfPageBase page = pdf.getPages().add();
//ブラシを作成する
PdfBrush brush = PdfBrushes.getBlack();
//y座標を初期化する
float y = 30;
//標準フォントを使用してテキストを描画する
PdfFont standardFont = new PdfFont(PdfFontFamily.Helvetica, 14f);
page.getCanvas().drawString("Standard Font - Helvetica", standardFont, brush, 0, y);
standardFont = new PdfFont(PdfFontFamily.Times_Roman, 14f);
page.getCanvas().drawString("Standard Font - Times_Roman", standardFont, brush, 0, (y = y + 16));
standardFont = new PdfFont(PdfFontFamily.Courier, 14f);
page.getCanvas().drawString("Standard Font - Courier", standardFont, brush, 0, (y = y + 16));
//TrueTypeフォントを使用してテキストを描画する
java.awt.Font font = new java.awt.Font("Arial", java.awt.Font.BOLD, 14);
PdfTrueTypeFont trueTypeFont = new PdfTrueTypeFont(font);
page.getCanvas().drawString("TrueType Font - Arial", trueTypeFont, brush, 0, (y = y + 30f));
//私有フォントを使用してテキストを描画する
String fontFileName = "Khadija.ttf";
trueTypeFont = new PdfTrueTypeFont(fontFileName, 14f);
page.getCanvas().drawString("Private Font - Khadija", trueTypeFont, brush, 0, (y = y + 30f));
//CJKフォントを使用してテキストを描画する
PdfCjkStandardFont cjkFont = new PdfCjkStandardFont(PdfCjkFontFamily.Monotype_Hei_Medium, 14f);
page.getCanvas().drawString("How to say 'Font' in Chinese? \u5B57\u4F53", cjkFont, brush, 0, (y = y + 30f));
cjkFont = new PdfCjkStandardFont(PdfCjkFontFamily.Hanyang_Systems_Gothic_Medium, 14f);
page.getCanvas().drawString("How to say 'Font' in Japanese? \u30D5\u30A9\u30F3\u30C8", cjkFont, brush, 0, (y = y + 16f));
cjkFont = new PdfCjkStandardFont(PdfCjkFontFamily.Hanyang_Systems_Shin_Myeong_Jo_Medium, 14f);
page.getCanvas().drawString("How to say 'Font' in Korean? \uAE00\uAF34", cjkFont, brush, 0, (y = y + 16f));
//結果文書を保存する
pdf.saveToFile("PdfFonts.pdf");
pdf.close();
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。