HTMLからPDFへの変換でフォントを管理する方法

C#でPDFのフォントを管理する方法

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

IronPDFはC#でフォントの検索、追加、埋め込み、削除、置き換えを含む包括的なフォント管理を可能にし、すべてのプラットフォームで一貫したテキスト表示を実現します。

フォントとは、一貫したスタイルやデザインを持つ文字、記号、グリフのセットです。 フォントは、特定の書体、サイズ、太さ、スタイル(通常、太字、イタリックなど)を表します。 フォントは、視覚的に魅力的で一貫性のある方法でテキストを表示するためにタイポグラフィで使用されます。

IronPDFは、フォントの検索、取得、埋め込み、埋め込み解除、置換などの機能を提供し、フォントを管理する便利な方法を提供します。 新しいPDFを作成する場合でも、既存のドキュメントを編集する場合でも、適切なフォント管理を行うことで、あらゆるプラットフォームやデバイスでPDFが正しく表示されるようになります。

クイックスタート:PDFでのフォント管理と埋め込み

PDFドキュメントでのフォント管理を効率化するために、IronPDFから始めましょう。 このガイドでは、プラットフォーム間で視覚的な一貫性を保つためにPDFにフォントを埋め込む方法を紹介します。 わずか数行のコードで、文書の外観を向上させ、互換性を維持することができます。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronPDF をインストールします

    PM > Install-Package IronPdf

  2. このコード スニペットをコピーして実行します。

    var pdf = PdfDocument.FromHtml("<p style='font-family:MyCustomFont;'>Hello world!</p>");
    pdf.Fonts.Add("MyCustomFont", File.ReadAllBytes("MyCustomFont.ttf"))
      .Embed()
      .SaveAs("withCustomFont.pdf");
  3. 実際の環境でテストするためにデプロイする

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

PDF内のフォントを検索して取得するにはどうすればよいですか?

PDFからすべてのフォントを取得するにはどうすればよいですか?

Fonts プロパティにアクセスすると、すべてのドキュメント・フォントを含む PdfFontCollection オブジェクトが返されます。 Fonts<//code> プロパティは、<code>PdfFontCollection オブジェクトを反復処理することで直接アクセスできます。 これは、PDFフォームを使用したり、文書構造を分析したりする場合に特に役立ちます。

:path=/static-assets/pdf/content-code-examples/how-to/manage-font-retrieve-font.cs
using IronPdf;
using IronPdf.Fonts;
using System.Collections.Generic;

// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Retreive font
PdfFontCollection fonts = pdf.Fonts;
$vbLabelText   $csharpLabel

特定のフォントを名前で検索するにはどうすればよいですか?

IronPdfで特定のフォントを見つけるのは簡単です。 PdfFontCollectionオブジェクトを使用して、フォント名を指定してフォントオブジェクトにアクセスし、プロパティを検査します。 この機能は、フォントの一貫性を維持しながらPDFドキュメントのテキストを置き換える必要がある場合に不可欠です。

:path=/static-assets/pdf/content-code-examples/how-to/manage-font-find-font.cs
using IronPdf;
using IronPdf.Fonts;
using System.Collections.Generic;
using System.Linq;

// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Find font
PdfFont font = pdf.Fonts["SpecialFontName"];
$vbLabelText   $csharpLabel

PDFにフォントを追加するにはどうすればよいですか?

標準フォントまたはフォントファイルをバイトデータとして追加するには、Addメソッドを使用します。 フォント名を受け付けるメソッドは、14種類の標準フォントのうちの1つしか受け付けません。 標準的なフォントを追加しても、オペレーティングシステムで利用できることが保証されているため、埋め込むことはありません。 HTMLをPDFに変換する際、IronPDFは自動的にHTMLからWebフォントを扱います。

:path=/static-assets/pdf/content-code-examples/how-to/manage-font-add-font.cs
using IronPdf;
using IronPdf.Fonts;

// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Add font
pdf.Fonts.Add("Helvetica");
$vbLabelText   $csharpLabel

ウェブフォントやアイコンフォントを含む高度なフォント管理のために、IronPdfは最新のタイポグラフィのニーズに包括的なサポートを提供します。

なぜPDFにフォントを埋め込む必要があるのでしょうか

フォントを埋め込むと、フォントのバイトストリームデータがPDF文書に含まれます。 これにより、表示システムにフォントをインストールすることなく、適切な表示が保証されます。 このため、ファイルサイズは大きくなりますが、視覚的な一貫性は保証されます。 これは、PDF/A準拠のドキュメントを作成する場合や、ドキュメントの移植性を確保する場合に非常に重要です。

:path=/static-assets/pdf/content-code-examples/how-to/manage-font-embed-font.cs
using IronPdf;
using System.Linq;

// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Add the font
byte[] fontData = System.IO.File.ReadAllBytes("dir/to/font.ttf");

// Embed the font
pdf.Fonts.Last().Embed(fontData);
$vbLabelText   $csharpLabel

フォント埋め込みは、すべてのシステムで文字が正しく表示されるように、国際言語とUTF-8のサポートのために特に重要です。

いつPDFからフォントをアンエンベッドすべきですか?

Unembeddingは、PDFから埋め込まれたフォントのバイトストリームデータを削除し、ファイルサイズを小さくします。これを実現するには、Unembedメソッドを使います。 このテクニックは、ファイルサイズを最小化するPDF圧縮戦略と相性がよいです。

:path=/static-assets/pdf/content-code-examples/how-to/manage-font-unembed-font.cs
using IronPdf;
using IronPdf.Fonts;

// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Get fonts
PdfFontCollection fonts = pdf.Fonts;

// Unembed a font
pdf.Fonts[0].Unembed();
$vbLabelText   $csharpLabel

一般的でないフォントが埋め込み解除後にフォールバックを欠く場合、出力PDFで破損して表示される可能性があります。 Adobeが同じ問題を表示するかどうかを確認してください。 そうでない場合は、調査のためにサポートに連絡してください。 破損したフォントは以下のように表示されます:

Adobe Acrobatのフォントエラーダイアログで、AAAAAA+Impactフォントの警告が表示され、文字化けが発生しています。

PDFドキュメントのフォントを置き換えるにはどうすればよいですか?

フォント置換は、指定されたフォントを置換しながら、スタイルや文字エンコーディングを含む元のフォントデータ構造を保持します。 新しいフォントがオリジナルとうまく整合するようにしてください。 この機能は、PDFを編集するときや、ドキュメント間でフォントを標準化するときに便利です。

まれに、視覚的な結果が完全に一致しない場合があります。 これは、フォント置換方式の現在の限界です。

:path=/static-assets/pdf/content-code-examples/how-to/manage-font-replace-font.cs
using IronPdf;
using IronPdf.Fonts;
using System.Linq;

// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

byte[] fontData = System.IO.File.ReadAllBytes("dir/to/font.ttf");
// Get and replace Font
pdf.Fonts["Courier"].ReplaceWith(fontData);
$vbLabelText   $csharpLabel

14種類の標準PDFフォントは何ですか?

14種類の標準フォント(Base 14 FontsまたはStandard Type 1 Fonts)は、PDFビューアで広くサポートされており、埋め込む必要はありません。 PDF標準は、PDF文書で作業する際にこれらのフォントが利用可能であることを保証します。 これらのフォントは、さまざまなソースからPDFを作成する際の互換性を維持するために不可欠です。

  • Courier
  • Courier-Bold
  • Courier-Oblique
  • Courier-BoldOblique
  • Helvetica
  • Helvetica-Bold
  • Helvetica-Oblique
  • Helvetica-BoldOblique
  • Times-Roman
  • Times-Bold
  • Times-Italic
  • Times-BoldItalic
  • Symbol
  • ZapfDingbats

どのフォント名が標準フォントに対応しますか?

複数の文字列名は、便宜上、同じ標準フォントを指します。 このマッピングシステムは、異なるPDFツールで作業するときや、PDFをマージまたは分割するときの互換性を保証します。

Courierへのマッピング

  • 標準フォント.Courier
    • Courier
    • CourierNew
    • CourierNewPSMT
    • CourierStd

Courier-Boldへのマッピング

  • 標準フォント.CourierBold
    • Courier,Bold
    • Courier-Bold
    • CourierBold
    • CourierNew,Bold
    • CourierNew-Bold
    • CourierNewBold
    • CourierNewPS-BoldMT
    • CourierStd-Bold

Courier-Obliqueへのマッピング

  • 標準フォント.CourierOblique
    • Courier,Italic
    • Courier-Oblique
    • CourierItalic
    • CourierNew,Italic
    • CourierNew-Italic
    • CourierNewItalic
    • CourierNewPS-ItalicMT
    • CourierStd-Oblique

Courier-BoldObliqueへのマッピング

  • StandardFont.CourierBoldOblique
    • Courier,BoldItalic
    • Courier-BoldOblique
    • CourierBoldItalic
    • CourierNew,BoldItalic
    • CourierNew-BoldItalic
    • CourierNewBoldItalic
    • CourierNewPS-BoldItalicMT
    • CourierStd-BoldOblique

Helveticaへのマッピング

  • 標準フォント.Helvetica
    • Arial
    • ArialMT
    • Helvetica

Helvetica-Boldへのマッピング

  • StandardFont.HelveticaBoldを使用してください。
    • Arial,Bold
    • Arial-Bold
    • Arial-BoldMT
    • ArialBold
    • ArialMT,Bold
    • ArialRoundedMTBold
    • Helvetica,Bold
    • Helvetica-Bold
    • HelveticaBold

Helvetica-Obliqueへのマッピング

  • StandardFont.HelveticaOblique
    • Arial,Italic
    • Arial-Italic
    • Arial-ItalicMT
    • ArialItalic
    • ArialMT,Italic
    • Helvetica,Italic
    • Helvetica-Italic
    • Helvetica-Oblique
    • HelveticaItalic

Helvetica-BoldObliqueへのマッピング

  • StandardFont.HelveticaBoldObliqueを使用してください。
    • Arial,BoldItalic
    • Arial-BoldItalic
    • Arial-BoldItalicMT
    • ArialBoldItalic
    • ArialMT,BoldItalic
    • Helvetica,BoldItalic
    • Helvetica-BoldItalic
    • Helvetica-BoldOblique
    • HelveticaBoldItalic

Times-Romanへのマッピング

  • StandardFont.Timesを使用してください。
    • Times-Roman
    • TimesNewRoman
    • TimesNewRomanPS
    • TimesNewRomanPSMT

Times-Boldへのマッピング

  • StandardFont.TimesBoldを使用してください。
    • Times-Bold
    • TimesBold
    • TimesNewRoman,Bold
    • TimesNewRoman-Bold
    • TimesNewRomanBold
    • TimesNewRomanPS-Bold
    • TimesNewRomanPS-BoldMT
    • TimesNewRomanPSMT,Bold

Times-Italicへのマッピング

  • StandardFont.TimesObliqueを使用してください。
    • Times-Italic
    • TimesItalic
    • TimesNewRoman,Italic
    • TimesNewRoman-Italic
    • TimesNewRomanItalic
    • TimesNewRomanPS-Italic
    • TimesNewRomanPS-ItalicMT
    • TimesNewRomanPSMT,Italic

Times-BoldItalicへのマッピング

  • StandardFont.TimesBoldObliqueを使用してください。
    • Times-BoldItalic
    • TimesBoldItalic
    • TimesNewRoman,BoldItalic
    • TimesNewRoman-BoldItalic
    • TimesNewRomanBoldItalic
    • TimesNewRomanPS-BoldItalic
    • TimesNewRomanPS-BoldItalicMT
    • TimesNewRomanPSMT,BoldItalic

Symbolへのマッピング

  • <コード>標準フォント.シンボル</コード
    • Symbol
    • SymbolMT

ZapfDingbatsへのマッピング

  • 標準フォント<dingbats
    • ZapfDingbats

よくある質問

C# を使用して PDF 文書にカスタムフォントを埋め込むにはどうすればよいですか?

IronPdfでは、FontsコレクションのAddメソッドとEmbedメソッドを使用することでカスタムフォントを埋め込むことができます。pdf.Fonts.Add("MyCustomFont", File.ReadAllBytes("MyCustomFont.ttf")).Embed().これにより、PDFがすべてのプラットフォームで正しく表示されるようになります。

既存のPDF文書からすべてのフォントを取得する方法を教えてください。

IronPdfはPdfFontCollectionオブジェクトを返すFontsプロパティを通してすべてのドキュメントフォントへのアクセスを提供します。このコレクションを繰り返し処理することで、フォント名、埋め込み状態、フォントタイプを含むフォント情報を取得することができます。

PDF 内で特定のフォントを名前で検索する最善の方法は?

IronPDFではPdfFontCollectionオブジェクトを使って特定のフォントを見つけることができます。フォント名を指定してフォントを検索し、フォントオブジェクトとそのプロパティにアクセスすることができます。この機能は、PDF文書内の特定のフォントを置き換えたり変更したりする必要がある場合に特に便利です。

PDFファイルサイズを小さくするために、埋め込まれたフォントを削除できますか?

はい、IronPDFはPDFドキュメントから埋め込まれたフォントを削除するUnembedメソッドを提供します。必要なフォントがインストールされていないシステムでのPDFの表示に影響を与えるかもしれませんが、文書の構造を維持したままファイルサイズを大幅に削減することができます。

既存のPDF文書のフォントを置き換えるにはどうすればよいですか?

IronPdfはフォントの置き換えを簡単にする置き換えメソッドを提供します。PDF文書全体で既存のフォントを新しいフォントと簡単に入れ替えることができ、ブランドの一貫性を維持したり、古い文書を最新の書体で更新したりするのに便利です。

カーティス・チャウ
テクニカルライター

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

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

準備はできましたか?
Nuget ダウンロード 17,012,929 | バージョン: 2025.12 リリース