PDFでフォントを管理する方法
フォントとは、一貫したスタイルとデザインを持つ文字、記号、およびグリフのセットのことです。 それは、特定のフォント、サイズ、太さ、スタイル(例えば、レギュラー、ボールド、イタリックなど)のテキストを指します。 フォントはタイポグラフィで使用され、視覚的に魅力的で一貫性のある方法でテキストを表示します。
IronPDFはフォントの管理に便利な方法を提供し、フォントの検索、フォントの取得、フォントの埋め込み、フォントの埋め込み解除、フォントの置換などの機能を備えています。
PDFでフォントを管理する方法
フォントの検索と取得
フォントを取得
フォントプロパティにアクセスすると、ドキュメント内のすべてのフォントのリストを含む PdfFontCollection オブジェクトが返されます。 フォントプロパティは、PdfFontCollectionオブジェクトを反復処理することで直接アクセスできます。
: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;
フォント検索
IronPDFで特定のフォントを見つけるのは簡単です。 PdfFontCollection オブジェクトを使用することで、フォント名を角括弧に囲まれた文字列として指定できます。 例えば: フォント ["SpecialFontName"]。 これは、プロパティの検査や追加のメソッドの実行に使用できるPdfFontオブジェクトを返します。
: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"];
フォントを追加
Add
メソッドを使用して、標準フォントとフォントファイルの両方をバイトデータとして追加します。 Add
メソッドはフォント名のみを受け入れますが、14の標準フォントのいずれかだけを受け入れます。 標準フォントは、オペレーティングシステム上で利用可能であることがすでに保証されているため、標準フォントを追加しても埋め込むことはできません。
: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");
フォントの埋め込み
フォントの埋め込みとは、フォントのバイトストリームデータをPDFドキュメント自体に含めることを意味します。 この方法では、システムにフォントをインストールする必要がなく、PDFドキュメントを正しく表示できます。 これは一般的にPDFドキュメントのファイルサイズを増加させますが、フォントをインストールする追加の要件なしに視覚的一貫性を保つために有益です。
: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");
pdf.Fonts.Add(fontData);
// Embed the font
pdf.Fonts.Last().Embed(fontData);
フォントの埋め込み解除
フォントの埋め込み解除とは、PDFドキュメントに含まれているフォントの埋め込まれたバイトストリームデータを削除することを意味します。 目標はPDFドキュメントのファイルサイズを削減することです。これを実現するためにUnembed
メソッドを使用してください。
: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();
フォントの置換
フォント置換操作により、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);
標準フォント
PDFにおける14の標準フォント、別名『Base 14 Fonts』や『Standard Type 1 Fonts』は、PDFビューアで広くサポートされており、ドキュメントに埋め込む必要がないフォントのセットです。 標準フォントには、PDFドキュメントの標準に従って、PDFドキュメントを操作する際に確実に利用できる14のフォントが定義されています。
- クーリエ
- Courier-Bold (クーリエ・ボールド)
- クーリエ-オブリーク
- コーリエ・ボールドオブリーク
- ヘルベチカ
- ヘルベチカ-ボールド
- ヘルベチカ斜体
- ヘルベチカ-ボールドオブリーク
- タイムズ・ローマン
- Times-Bold
- タイムズ-イタリック
- タイムズ-ボールドイタリック
- 記号
- ZapfDingbats
標準フォントのマッピング
標準フォントを参照する際の便利さを考慮して、複数の文字列名が同じフォントを指しています。
クーリエへのマップ
-
StandardFont.Courier
-
クーリエ
-
CourierNew
- CourierNewPSMT
-
Note: Since "CourierNewPSMT" is a specific font name and generally does not undergo translation, it is preserved in its original form.
-
CourierStd (クーリエスタンダード)
Courier-Bold へのマップ
-
StandardFont.CourierBold
-
クーリエ、ボールド
-
Courier-Bold (クーリエ・ボールド)
-
CourierBold
-
CourierNew,太字
-
CourierNew-Bold
-
CourierNewBold
-
CourierNewPS-BoldMT
- CourierStd-ボールド
Courier-Obliqueへのマップ
-
-
StandardFont.CourierOblique
-
コーリエ, イタリック
-
クーリエ-オブリーク
-
クーリエイタリック
-
CourierNew、Italic
-
CourierNew-Italic (クーリエ・ニュー - イタリック)
-
CourierNewItalic
-
CourierNewPS-ItalicMT
- CourierStd-Oblique
Courier-BoldObliqueにマップ
-
-
StandardFont.CourierBoldOblique
-
Courier,ボールドイタリック
-
コーリエ・ボールドオブリーク
-
クーリエボールドイタリック
-
CourierNew,太字イタリック
-
CourierNew-BoldItalic
-
CourierNewBoldItalic
-
CourierNewPS-BoldItalicMT
- CourierStd-BoldOblique
Helveticaへのマッピング
-
-
StandardFont.Helvetica
-
Arial
-
ArialMT
- ヘルベチカ
ヘルベチカ-ボールドにマップする
-
-
StandardFont.HelveticaBold
-
Arial,Bold (アリアル、ボールド)
-
Arial-Bold
-
Arial-BoldMT
-
ArialBold(アリアルボールド)
-
ArialMT,Bold
-
ArialRoundedMTBold (アリアルラウンデッドMTボールド)
-
Helvetica,ボールド
-
ヘルベチカ-ボールド
- ヘルベチカボールド
Helvetica-Obliqueにマップ
-
-
StandardFont.HelveticaOblique
-
Arial,イタリック
-
Arial-Italic(アリアル・イタリック)
-
Arial-ItalicMT
-
Arialイタリック
-
ArialMT,Italic
-
ヘルベチカ、イタリック
-
ヘルベチカ-イタリック
-
ヘルベチカ斜体
- Helveticaイタリック
Helvetica-BoldOblique へのマッピング
-
-
StandardFont.HelveticaBoldOblique
-
Arial,太字斜体
-
Arial-BoldItalic
-
Arial-BoldItalicMT
-
ArialBoldItalic
-
ArialMT, BoldItalic
-
Helvetica,ボールドイタリック
-
ヘルベチカ-ボールドイタリック
-
ヘルベチカ-ボールドオブリーク
- ヘルベティカボールドイタリック
Times-Romanへのマッピング
-
-
StandardFont.Times
-
タイムズ・ローマン
-
タイムズ・ニュー・ローマン
-
TimesNewRomanPS
- タイムズニュー・ローマンPSMT
Times-Boldへのマッピング
-
-
StandardFont.TimesBold
-
Times-Bold
-
TimesBold
-
TimesNewRoman,太字
-
TimesNewRoman-Bold
-
タイムズニューローマンボールド
-
タイムズニュー ローマンPS-ボールド
-
TimesNewRomanPS-BoldMT
- TimesNewRomanPSMT,ボールド
Times-Italic へのマップ
-
-
StandardFont.TimesOblique
-
タイムズ-イタリック
-
TimesItalic
-
タイムズニューローマン,イタリック
-
タイムズニューローマン-イタリック
-
タイムズニューローマンイタリック
-
TimesNewRomanPS-Italic
-
タイムズニュー ローマンPS-イタリックMT
- TimesNewRomanPSMT,Italic(イタリック)
Times-BoldItalicへのマッピング
-
-
StandardFont.TimesBoldOblique
-
タイムズ-ボールドイタリック
-
タイムズボールドイタリック
-
TimesNewRoman,ボールドイタリック
-
TimesNewRoman-BoldItalic
-
タイムズニューローマンボールドイタリック
-
タイムズニューローマンPS-ボールドイタリック
-
TimesNewRomanPS-BoldItalicMT
- TimesNewRomanPSMT,ボールドイタリック
シンボルへのマップ
-
-
StandardFont.Symbol
-
記号
- シンボルMT
ZapfDingbatsへのマップ
-
-
StandardFont.Dingbats
- ZapfDingbats