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? u5B57u4F53", cjkFont, brush, 0, (y = y + 30f)); cjkFont = new PdfCjkStandardFont(PdfCjkFontFamily.Hanyang_Systems_Gothic_Medium, 14f); page.getCanvas().drawString("How to say 'Font' in Japanese? u30D5u30A9u30F3u30C8", 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? uAE00uAF34", cjkFont, brush, 0, (y = y + 16f)); //結果文書を保存する pdf.saveToFile("PdfFonts.pdf"); pdf.close(); } } 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。