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

Chaknith related to PDFでフォントを管理する方法
チャクニット・ビン
2023年12月14日
更新済み 2025年1月8日
共有:
This article was translated from English: Does it need improvement?
Translated
View the article in English

フォントとは、一貫したスタイルとデザインを持つ文字、記号、およびグリフのセットのことです。 それは、特定のフォント、サイズ、太さ、スタイル(例えば、レギュラー、ボールド、イタリックなど)のテキストを指します。 フォントはタイポグラフィで使用され、視覚的に魅力的で一貫性のある方法でテキストを表示します。

IronPDFはフォントの管理に便利な方法を提供し、フォントの検索、フォントの取得、フォントの埋め込み、フォントの埋め込み解除、フォントの置換などの機能を備えています。

フォントの検索と取得

フォントを取得

フォントプロパティにアクセスすると、ドキュメント内のすべてのフォントのリストを含む 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
Chaknith related to 標準フォントのマッピング
ソフトウェアエンジニア
チャクニットは開発者のシャーロック・ホームズです。彼がソフトウェアエンジニアリングの将来性に気付いたのは、楽しみでコーディングチャレンジをしていたときでした。彼のフォーカスはIronXLとIronBarcodeにありますが、すべての製品でお客様を助けることに誇りを持っています。チャクニットは顧客と直接話すことで得た知識を活用して、製品自体のさらなる改善に貢献しています。彼の逸話的なフィードバックは、単なるJiraチケットを超えて、製品開発、ドキュメントおよびマーケティングをサポートし、顧客の全体的な体験を向上させます。オフィスにいないときは、機械学習やコーディングについて学んだり、ハイキングを楽しんだりしています。