プレゼンテーションでの С++ を使用したフォント置換を効率化

フォントの置換

フォントの使用をやめたい場合は、別のフォントに置き換えることができます。古いフォントのすべてのインスタンスが新しいフォントに置き換わります。

Aspose.Slides では、次の手順でフォントを置換できます:

  1. 対象のプレゼンテーションを読み込みます。
  2. 置換対象のフォントを読み込みます。
  3. 新しいフォントを読み込みます。
  4. フォントを置換します。
  5. 変更されたプレゼンテーションを書き出して PPTX ファイルにします。

この C++ コードはフォント置換を示しています:

// プレゼンテーションを読み込む
auto presentation = System::MakeObject<Presentation>(u"Fonts.pptx");

// 置換対象となる元フォントを読み込む
auto sourceFont = System::MakeObject<FontData>(u"Arial");

// 新しいフォントを読み込む
auto destFont = System::MakeObject<FontData>(u"Times New Roman");

// フォントを置換する
presentation->get_FontsManager()->ReplaceFont(sourceFont, destFont);

// プレゼンテーションを保存する
presentation->Save(u"UpdatedFont_out.pptx", SaveFormat::Pptx);

よくある質問

「フォント置換」「フォントサブスティテューション」「フォールバックフォント」の違いは何ですか?

置換は、ドキュメント全体でフォントファミリを意図的に別のものに切り替えることです。サブスティテューション は「フォントが利用できない場合は X を使用する」というようなルールです。フォールバック は、ベースフォントがインストールされているが必要な文字が含まれていない場合に、個々の欠損グリフに対してのみ適用されます。

置換はマスタースライド、レイアウト、ノート、コメントにも適用されますか?

はい。置換は元のフォントを使用しているすべてのプレゼンテーションオブジェクトに影響し、マスタースライドやノートも含まれます。コメントもドキュメントの一部であり、フォントエンジンで考慮されます。

埋め込み OLE オブジェクト(例: Excel)内のフォントは変更されますか?

いいえ。OLE コンテンツ はそれぞれのアプリケーションによって管理されます。プレゼンテーション内での置換は内部 OLE データの形式を変えません。表示は画像として、または外部で編集可能なコンテンツとして行われる場合があります。

プレゼンテーションの一部(スライドや領域)だけでフォントを置換できますか?

対象オブジェクトや範囲レベルでフォントを変更すれば、特定のスライドや領域だけで置換することが可能です。ただし、ドキュメント全体に対してグローバルに置換を適用するのとは異なります。レンダリング時の全体的なフォント選択ロジックは同じままです。

プレゼンテーションが使用しているフォントを事前にすべて把握するにはどうすればよいですか?

プレゼンテーションのフォントマネージャー を使用します。使用中のフォントファミリの一覧 と、置換または「不明」フォントに関する情報 を取得でき、置換の計画に役立ちます。

PDF や画像への変換時にフォント置換は機能しますか?

はい。エクスポート時に Aspose.Slides は同じフォント選択/置換シーケンス を適用するため、事前に行った置換は変換時に反映されます。

対象フォントをシステムにインストールする必要がありますか、それともフォントフォルダーを添付できますか?

インストールは不要です。ライブラリはユーザーフォルダーから外部フォントの読み込み をサポートしており、レンダリングおよびエクスポート 時に使用できます。

置換により文字の代わりに表示される「豆腐」(四角) が解消しますか?

対象フォントに必要なグリフが実際に含まれている場合に限り、置換で解決します。含まれていない場合は、フォールバックの設定 を行い、欠損文字をカバーしてください。