スプレッドシートをレンダリングするためのフォントの構成

考えられる使用シナリオ

Aspose.Cells API は、スプレッドシートを画像形式で表示したり、PDF および XPS 形式に変換したりする機能を提供します。変換の忠実度を最大化するには、スプレッドシートで使用されるフォントがオペレーティング システムのデフォルトのフォント ディレクトリで使用できる必要があります。必要なフォントが存在しない場合、Aspose.Cells API は必要なフォントを使用可能なフォントに置き換えようとします。

フォントの選択

以下は、Aspose.Cells API が舞台裏でたどるプロセスです。

  1. API は、スプレッドシートで使用されている正確なフォント名に一致するファイル システム上のフォントを見つけようとします。
  2. API がまったく同じ名前のフォントを見つけられない場合、ワークブックのDefaultStyle.Font財産。
  3. API がブックの下に定義されているフォントを見つけられない場合DefaultStyle.Fontプロパティで指定されたフォントを使用しようとします。PdfSaveOptions.DefaultFontまたImageOrPrintOptions.DefaultFont財産。
  4. API で定義されているフォントが見つからない場合PdfSaveOptions.DefaultFontまたImageOrPrintOptions.DefaultFontプロパティで指定されたフォントを使用しようとします。FontConfigs.DefaultFontName財産。
  5. API で定義されているフォントが見つからない場合FontConfigs.DefaultFontNameプロパティを使用すると、使用可能なすべてのフォントから最適なフォントを選択しようとします。
  6. 最後に、API がファイル システムでフォントを見つけられない場合、Arial を使用してスプレッドシートをレンダリングします。

カスタム フォント フォルダの設定

Aspose.Cells API は、オペレーティング システムの既定のフォント ディレクトリで必要なフォントを検索します。必要なフォントがシステムのフォント ディレクトリにない場合、API はカスタム (ユーザー定義) ディレクトリを検索します。のFontConfigクラスは、以下に詳述するように、カスタム フォント ディレクトリを設定する多くの方法を公開しています。

  1. FontConfigs.setFontFolder: この方法は、設定するフォルダーが 1 つしかない場合に便利です。
  2. FontConfigs.setFontFolders: この方法は、フォントが複数のフォルダーに存在し、すべてのフォントを 1 つのフォルダーにまとめるのではなく、すべてのフォルダーを個別に設定したい場合に便利です。
  3. FontConfigs.setFontSources: このメカニズムは、ユーザーが複数のフォルダーまたは単一のフォント ファイルからフォントをロードしたり、バイト配列からフォント データをロードしたい場合に便利です。

フォント置換メカニズム

Aspose.Cells API は、レンダリング目的で代替フォントを指定する機能も提供します。このメカニズムは、変換が必要なマシンで必要なフォントが利用できない場合に役立ちます。ユーザーは、元々必要だったフォントの代わりに、フォント名のリストを提供できます。これを実現するために、Aspose.Cells API は、2 つのパラメーターを受け入れる FontConfigs.setFontSubstitutes メソッドを公開しました。最初のパラメータの型はこれは、置換する必要があるフォントの名前である必要があります。 2 番目のパラメーターは型の配列です。.ユーザーは、元のフォント (最初のパラメーターで指定) の代替としてフォント名のリストを提供できます。

簡単な使用シナリオを次に示します。

 //Substituting the Arial font with Times New Roman & Calibri

FontConfigs.setFontSubstitutes("Arial", new String[]{ "Times New Roman", "Calibri" });

情報収集

上記のメソッドに加えて、Aspose.Cells API は、設定されているソースと置換に関する情報を収集する手段も提供しています。

  1. FontConfigs.getFontSources: このメソッドは型の配列を返しますFontSourceBase指定されたフォント ソースのリストが含まれています。ソースが設定されていない場合、FontConfigs.getFontSources メソッドは空の配列を返します。
  2. FontConfigs.getFontSubstitutes: このメソッドは型のパラメータを受け入れます置換を設定したフォント名を指定できるようになりました。指定されたフォント名に代替が設定されていない場合は、FontConfigs.getFontSubstitutes メソッドは null を返します。