PDF のフォントを設定する方法 C#

Set Fonts in PDFs with IronPDF C

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDFはC#開発者がHTMLからカスタムウェブフォントとアイコンフォントを使ってPDFを作成することを可能にします。 Google Fontsのような外部フォントサービスとCSS @font-face ルールを通じたローカルフォントファイルの両方をサポートし、生成されるすべてのPDFで一貫したタイポグラフィを保証します。

ウェブフォントは、ウェブサイトでの使用を目的に設計された特殊なフォントです。 これらのフォントはウェブサーバーにホストされ、ウェブブラウザによってダウンロードされ、ユーザーのローカルフォントの可用性に関わらず、一貫した視覚的に魅力的なテキストのレンダリングをウェブサイト上で保証します。 さらに、シンボルやグリフを使用するアイコンフォントは、スケーラブルでカスタマイズ可能なアイコンを作成し、CSS操作で一貫した視覚的ユーザーインターフェイスを維持するためにウェブデザインでしばしば使用されます。 IronPDFのフォント管理機能により、開発者はこれらのフォントをPDF生成ワークフローに簡単に統合することができます。

CSSにはウェブフォントが含まれており、ウェブサイトがアクセスされたときにダウンロードするためのフォントファイルを指定できます。 IronPDFはフォントの読み込みとHTMLからPDFへのレンダリングをサポートしており、特定のブランディングやタイポグラフィの標準を必要とするドキュメントの作成に理想的です。 国際的なコンテンツを扱う開発者のために、IronPDFはUTF-8と国際言語サポートも提供しています。

クイックスタート: PDF生成でのWebフォントの使用

IronPDFのC#ライブラリを使ってPDFにウェブフォントやアイコンフォントを組み込んでください。 このガイドでは、HTMLコンテンツをカスタムフォントでレンダリングし、一貫性のある視覚的に魅力的なPDFを作成する方法を紹介します。 単にHTMLをIronPDFでレンダリングし、スタイルされたドキュメントを数秒で保存します。 始める前に、あなたのプロジェクトにIronPDFがインストールされていることを確認してください。

  1. IronPDF をNuGetパッケージマネージャでインストール

    PM > Install-Package IronPdf
  2. このコード スニペットをコピーして実行します。

    new IronPdf.ChromePdfRenderer { RenderingOptions = { WaitFor = IronPdf.Rendering.WaitFor.AllFontsLoaded(2000) } }
        .RenderHtmlAsPdf("<link href=\"https://fonts.googleapis.com/css?family=Lobster\" rel=\"stylesheet\">" +
                         "<link href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css\" rel=\"stylesheet\">" +
                         "<p style=\"font-family:'Lobster', serif; font-size:30px;\">Hello Google Font</p>" +
                         "<i class=\"fa fa-coffee\" style=\"font-size:40px; color:#b00;\"></i>")
        .SaveAs("webfonts-icons.pdf");
  3. 実際の環境でテストするためにデプロイする

    今日プロジェクトで IronPDF を使い始めましょう無料トライアル

    arrow pointer

PDFでWebフォントとアイコンを使用するにはどうすればよいですか?

IronPDFは、WebFonts(Google FontsやAdobeのウェブフォントAPIなど)や、BootstrapやFontAwesomeが使用するアイコンフォントをサポートしています。 このサポートにより、IronPDFはシンプルな文書からブランド要素を含む複雑なレポートまで、洗練されたタイポグラフィを必要とするプロジェクトに適しています。

フォントは正しく読み込むためにレンダリングに遅延が必要なことがあります。 フォントが正しく読み込まれないと、テキストのない空白ページになることがあります。 すべてのフォントが読み込まれるまで待つために、最大待機時間を指定したWaitFor.AllFontsLoadedメソッドを使用できます。 デフォルトの最大待機時間は500msです。 JavaScriptや動的コンテンツを含む、より複雑なシナリオについては、高度なレンダリングテクニックをカバーするHTML to PDFチュートリアルをご覧ください。

あなたのプロジェクトでLobsterという名前のウェブフォントを使う小さな例

:path=/static-assets/pdf/content-code-examples/how-to/webfonts-webicons-render-webfont.cs
using IronPdf;

// HTML contains webfont
var html = @"<link href=""https://fonts.googleapis.com/css?family=Lobster"" rel=""stylesheet"">
<p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Wait for font to load
renderer.RenderingOptions.WaitFor.AllFontsLoaded(2000);

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Export the PDF
pdf.SaveAs("font-test.pdf");
Imports IronPdf

' HTML contains webfont
Private html = "<link href=""https://fonts.googleapis.com/css?family=Lobster"" rel=""stylesheet"">
<p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>"

Private renderer As New ChromePdfRenderer()

' Wait for font to load
renderer.RenderingOptions.WaitFor.AllFontsLoaded(2000)

' Render HTML to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

' Export the PDF
pdf.SaveAs("font-test.pdf")
$vbLabelText   $csharpLabel

フォント、JavaScript、HTML要素、ネットワークアイドルのためのものなど、"クラスドキュメント"でさらなるWaitForオプションを探ってみてください。 画面サイズに応じてフォントを調整するレスポンシブデザインのために、PDFレンダリングのためのレスポンシブCSSガイドを確認してください。

なぜフォントの読み込み時間が重要なのですか

フォントが正しく読み込まれないと、テキストのない空白ページになることがあります。 すべてのフォントが読み込まれるまで待つために、最大待機時間を指定したWaitFor.AllFontsLoadedメソッドを使用できます。 デフォルトの最大待機時間は500msです。 このタイミングを考慮することは、複雑なWebアプリケーションを扱う場合や、WebGLコンテンツをPDFにレンダリングする場合に特に重要です。

フォントの読み込み遅延は、ネットワーク速度、フォントファイルのサイズ、サーバーの応答時間など、いくつかの要因によって異なります。複数のカスタムフォントやアイコンライブラリを使用する場合は、すべてのタイポグラフィが正しくレンダリングされるように、待ち時間を長くすることをお勧めします。 これは、フォントの欠落が可読性とブランドの一貫性に影響を与える可能性がある専門的な文書では特に重要です。

どのフォントサービスがサポートされていますか?

IronPDFは、WebFonts(Google FontsやAdobeのウェブフォントAPIなど)や、BootstrapやFontAwesomeが使用するアイコンフォントをサポートしています。 さらに、IronPDFは以下をサポートします:

  • Google フォント(カタログ全体)
  • Adobeフォント(Typekit)
  • Font Awesomeアイコン(全バージョン)
  • Bootstrapアイコン
  • マテリアルデザインのアイコン
  • カスタムウェブフォントサービス: CSS @import または link タグを利用
  • さまざまな形式の自己ホスティングフォントファイル ( TTF, OTF, WOFF, WOFF2 )

フォントが正しく読み込まれない場合はどうなりますか?

フォントは正しく読み込むためにレンダリングに遅延が必要なことがあります。 フォントが正しく読み込まれないと、テキストのない空白ページになることがあります。 このような場合、ブラウザは通常、システムのデフォルトフォントに戻るため、文書の視覚的一貫性が損なわれる可能性があります。 IronPDFはフォントの読み込み失敗を処理するためのいくつかのメカニズムを提供します:

  1. フォールバックフォントチェーン: CSS font-family 宣言で複数のフォントを定義
  2. 拡張待機時間: 接続が遅い場合のAllFontsLoadedタイムアウトを延長
  3. ローカルフォントの埋め込み: base64エンコードされたフォントで確実に使用可能にする@font-faceを使用 4.フォントのプリロード:フォントの読み込みを優先するためにHTMLのプリロードタグを使用してください。
Icon Quote related to フォントが正しく読み込まれない場合はどうなりますか?

私のお気に入りのこの種のライブラリはIronPDFです。PDFファイルの迅速で効率的な操作が可能です。また、PDF/A形式へのエクスポートやPDF文書へのデジタル署名といった多くの貴重な機能も備えています。

Milan Jovanovic related to フォントが正しく読み込まれない場合はどうなりますか?

Milan Jovanovic

Microsoft MVP

ケーススタディを見る
Icon Quote related to フォントが正しく読み込まれない場合はどうなりますか?

IronOCRのおかげで私たちは年間$40,000を手作業の処理から節約し、生産性を向上させ、高影響のタスクにリソースを充てることができます。非常にお勧めします。

Brent Matzelle related to フォントが正しく読み込まれない場合はどうなりますか?

Brent Matzelle

最高技術責任者, OPYN

ケーススタディを見る
Icon Quote related to フォントが正しく読み込まれない場合はどうなりますか?

IronSuiteは私たちの業務において重要な役割を果たしています。これらは、フロアプランの作成や在庫管理の改善を含め、ビジネス全体の効率を向上させるツールです。

David Jones related to フォントが正しく読み込まれない場合はどうなりますか?

David Jones

リードソフトウェアエンジニア、Agorus Build

ケーススタディを見る

フォント ファイルを直接インポートするにはどうすればよいですか?

既存のフォントファイルを使用するには、CSSスタイリングで@font-faceルールを適用します。 このメソッドは、@font-face ルールとbase64エンコードされたwoffファイルの埋め込みを組み合わせた場合にも機能します。 以下の例では、Pixelify Sans Fontを使用します。

:path=/static-assets/pdf/content-code-examples/how-to/webfonts-webicons-custom-font.cs
using IronPdf;

// Import custom font
string html = @"<!DOCTYPE html>
<html>
<head>
<style>
@font-face {font-family: 'Pixelify';
src: url('fonts\PixelifySans-VariableFont_wght.ttf');
}
p {
    font-family: 'Pixelify';
    font-size: 70px;
}
</style>
</head>
<body>
<p>Custom font</p>
</body>
</html>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Export the PDF
pdf.SaveAs("customFont.pdf");
Imports IronPdf

' Import custom font
Private html As String = "<!DOCTYPE html>
<html>
<head>
<style>
@font-face {font-family: 'Pixelify';
src: url('fonts\PixelifySans-VariableFont_wght.ttf');
}
p {
    font-family: 'Pixelify';
    font-size: 70px;
}
</style>
</head>
<body>
<p>Custom font</p>
</body>
</html>"

Private renderer As New ChromePdfRenderer()

' Render HTML to PDF
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

' Export the PDF
pdf.SaveAs("customFont.pdf")
$vbLabelText   $csharpLabel

どのフォント ファイル形式を使用できますか?

既存のフォントファイルを使用するには、CSSスタイリングで@font-faceルールを適用します。 このメソッドは、@font-face ルールとbase64エンコードされたwoffファイルの埋め込みを組み合わせた場合にも機能します。 IronPDFは以下のフォントファイル形式をサポートしています:

  • TTF (TrueType Font): ワイドにサポートされ、スクリーンと印刷の両方に最適です
  • OTF (OpenType Font): 高度なタイポグラフィ機能を備え、プロフェッショナルなドキュメントに適しています
  • WOFF (Web Open Font Format): Web使用に最適化された圧縮形式です
  • WOFF2: WOFFに比べて圧縮が改善され、ファイルサイズが小さくなっています
  • EOT (Embedded OpenType): 古いブラウザー用に設定されたレガシー形式です
  • SVGフォント:ベクターベースのフォント(プラットフォームによっては制限あり)

いつローカルフォントとウェブフォントを使い分ける必要がありますか?

既存のフォントファイルを使用するには、CSSスタイリングで@font-faceルールを適用します。 ローカルフォントとウェブフォントの選択は、いくつかの要因によって決まります:

以下の場合にローカルフォントを使用してください。

  • オフラインまたは制限されたネットワーク環境での作業
  • フォントの可用性が保証される必要がある場合
  • 専有またはライセンス付きフォントの取り扱い
  • ネットワーク遅延なしの高速レンダリングの最適化
  • 厳格なコンプライアンス要件を備えたドキュメントの作成

ウェブフォントを使用する場合:次のとおりです。

  • Google Fontsのような大きなフォントライブラリの使用
  • フォントファイルの自動更新が必要な場合
  • アプリケーションバンドルサイズの最小化
  • 頻繁に変わるタイポグラフィ要件と作業
  • インターネット接続に依存するアプリケーションの構築

Azureを使用する際の制限は何ですか?

Azureホスティングプラットフォームは、その下層の共有WebアプリケーションティアでSVGフォントの読み込みをサポートしていません。 しかし、AzureのVPSやWebロールは同じようにサンドボックス化されておらず、ウェブフォントのレンダリングをサポートしています。 Azure デプロイメントの詳細については、Azure デプロイメント ガイドを参照してください。

どの Azure Tiers がフォント レンダリングをサポートしていますか?

しかし、AzureのVPSやWebロールは同じようにサンドボックス化されておらず、ウェブフォントのレンダリングをサポートしています。 以下は、Azureの階層サポートの内訳です:

完全なフォントサポート:

  • Azure仮想マシン(すべてのサイズ)
  • Azure Webロール
  • App Service Premiumティア (P3v2)
  • App Service Isolatedティア

限られたフォントサポート:

  • App Service Basicティア (B3) - ウェブフォントのみ
  • App Service Standardティア (S3) - 一部のSVGフォントの制限

カスタムフォントのサポートはありません:

  • App Service Freeティア (F1)
  • App Service Sharedティア (D1)

なぜ Azure の下位層にはフォント制限があるのですか

Azure ホスティング プラットフォームは、サンドボックスの制限とリソースの制限により、下位の共有ウェブ アプリ層で SVG フォントを読み込むサーバーをサポートしていません。 下位の階層では、カスタムフォントのレンダリングに必要な特定のシステムレベルの操作ができないように、厳格なセキュリティ境界が実装されています。 これらの制限は、Azureがマルチテナントの分離を維持し、共有環境でのリソースの乱用を防ぐのに役立ちます。

このような制限を回避するには、次のことを検討してください:

  1. CSS内に基底64エンコードされた文字列としてフォントを埋め込む
  2. CDNからのWebフォントのみを使用する
  3. サポートされている環境でのPDFの事前レンダリング 4.フォントをフルサポートする上位Azureティアへのアップグレード

https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face

よくある質問

PDF文書でGoogle Fontsを使用するにはどうすればよいですか?

IronPDFはHTMLレンダリングを通してGoogle Fontsをサポートします。HTMLのheadセクションにGoogle Fontsのリンクを含み、CSSでfont-familyを適用するだけです。IronPDFはPDFを生成する際にこれらのフォントをダウンロードしてレンダリングし、カスタム組版が最終的なドキュメントに正しく表示されるようにします。

生成されたPDFにウェブフォントが正しく表示されないのはなぜですか?

ウェブフォントはレンダリングの前に読み込み時間を必要とすることがよくあります。IronPDFはRenderingOptionsでWaitFor.AllFontsLoaded()オプションを提供し、PDF生成前にフォントが完全にロードされるように遅延(ミリ秒単位)を設定することができます。これにより、フォントの欠落や誤ったレンダリングを防ぐことができます。

PDFにFontAwesomeのアイコンを使用できますか?

はい、IronPDFはFontAwesomeと他のアイコンフォントを完全にサポートしています。FontAwesomeのCSSをHTMLにインクルードし、適切なアイコンクラスを使用してください。IronPDFはこれらのアイコンフォントをベクターグラフィックとしてPDFにレンダリングし、スケーラビリティとビジュアルクオリティを維持します。

ローカルのフォントファイルを@font-faceで使用するにはどうすればよいですか?

IronPDFはローカルのフォントファイルを読み込むためのCSS @font-faceルールをサポートしています。CSSでフォントファイルのパスを指定して@font-faceルールを定義し、そのfont-familyをHTML要素に適用します。IronPDFはレンダリング時にこれらのカスタムフォントをPDFに直接埋め込みます。

PDF生成でサポートされているフォント形式は何ですか?

IronPDFはWOFF、WOFF2、TTF、OTFファイルを含む標準的なウェブフォントフォーマットをサポートしています。これにより、現在利用可能なほとんどのモダンウェブフォントやアイコンフォントとの互換性が保証されます。

異なるシステム間で一貫したタイポグラフィを確保するにはどうすればよいですか?

IronPDFは生成されたPDFファイルにウェブフォントを直接埋め込み、閲覧者のシステムにインストールされているフォントに関係なく、カスタム組版が一貫して表示されるようにします。このため、配布されたドキュメントにおけるブランドの一貫性を維持するのに理想的です。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 20,296,129 | バージョン: 2026.7 リリースされたばかり
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronPdf
サンプルを実行するHTML が PDF に変換されるのを確認します。