JavaScriptでPowerPointフォントをカスタマイズ

カスタム フォントの読み込み

Aspose.Slides は、システムにインストールせずにプレゼンテーションで使用されるフォントをロードできます。これにより、PDF や画像などのエクスポート出力が環境間で一貫した外観になります。フォントはカスタムディレクトリからロードされます。

  1. フォント ファイルが含まれる 1 つ以上のフォルダーを指定します。
  2. static FontsLoader.loadExternalFonts メソッドを呼び出し、これらのフォルダーからフォントをロードします。
  3. プレゼンテーションをロードしてレンダリング/エクスポートします。
  4. FontsLoader.clearCache を呼び出してフォント キャッシュをクリアします。

以下のコード例はフォントのロード手順を示しています:

// カスタムフォントファイルが含まれるフォルダーを定義します。
let fontFolders = java.newArray("java.lang.String", [externalFontFolder1, externalFontFolder2]);

// 指定されたフォルダーからカスタムフォントをロードします。
aspose.slides.FontsLoader.loadExternalFonts(fontFolders);

let presentation = null;
try {
    presentation = new aspose.slides.Presentation("sample.pptx");
    
    // ロードしたフォントを使用してプレゼンテーションをレンダリング/エクスポートします(例: PDF、画像、またはその他の形式)。
    presentation.save("output.pdf", aspose.slides.SaveFormat.Pdf);
} finally {
    if (presentation != null) presentation.dispose();

    // 作業が完了したらフォントキャッシュをクリアします。
    aspose.slides.FontsLoader.clearCache();
}

カスタム フォント フォルダーの取得

Aspose.Slides は、getFontFolders メソッドを提供し、フォント フォルダーを取得できます。このメソッドは LoadExternalFonts メソッドで追加されたフォルダーとシステム フォント フォルダーを返します。

この JavaScript コードは getFontFolders の使用方法を示します:

// この行はフォントファイルが検索されるフォルダーを出力します。
// それらは LoadExternalFonts メソッドで追加されたフォルダーとシステムのフォントフォルダーです。
var fontFolders = aspose.slides.FontsLoader.getFontFolders();

プレゼンテーションで使用するカスタム フォントの指定

Aspose.Slides は、setDocumentLevelFontSources プロパティを提供し、プレゼンテーションで使用する外部フォントを指定できます。

この JavaScript コードは setDocumentLevelFontSources プロパティの使用方法を示します:

var memoryFont1 = java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "customfonts/CustomFont1.ttf"));
var memoryFont2 = java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "customfonts/CustomFont2.ttf"));
var loadOptions = new aspose.slides.LoadOptions();
loadOptions.getDocumentLevelFontSources().setFontFolders(java.newArray("java.lang.String", ["assets/fonts", "global/fonts"]));
loadOptions.getDocumentLevelFontSources().setMemoryFonts(java.newArray("[B", [java.newArray("byte", ["item1", "item2", "item3"])]));
var pres = new aspose.slides.Presentation("MyPresentation.pptx", loadOptions);
try {
    // プレゼンテーションを操作します
    // CustomFont1、CustomFont2、および assets\fonts と global\fonts フォルダーとそのサブフォルダー内のフォントはプレゼンテーションで使用可能です
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

フォントの外部管理

Aspose.Slides は、loadExternalFont(byte[] data) メソッドを提供し、バイナリ データから外部フォントをロードできます。

この JavaScript コードはバイト配列によるフォントのロード手順を示します:

java.callStaticMethodSync("com.aspose.slides.FontsLoader", "loadExternalFonts", java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "ARIALN.TTF")));
java.callStaticMethodSync("com.aspose.slides.FontsLoader", "loadExternalFonts", java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "ARIALNBI.TTF")));
java.callStaticMethodSync("com.aspose.slides.FontsLoader", "loadExternalFonts", java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "ARIALNI.TTF")));
try {
    var pres = new aspose.slides.Presentation("");
    try {
        // プレゼンテーションの実行中に外部フォントがロードされます
    } finally {
    }
} finally {
    java.callStaticMethodSync("com.aspose.slides.FontsLoader", "clearCache");
}

FAQ

カスタム フォントはすべての形式(PDF、PNG、SVG、HTML)へのエクスポートに影響しますか?

はい。接続されたフォントはレンダラーによってすべてのエクスポート形式で使用されます。

カスタム フォントは結果の PPTX に自動的に埋め込まれますか?

いいえ。レンダリングのためにフォントを登録することは、PPTX に埋め込むこととは異なります。フォントをプレゼンテーション ファイル内に含める必要がある場合は、明示的な embedding features を使用する必要があります。

カスタム フォントに特定のグリフがない場合のフォールバック 動作を制御できますか?

はい。font substitutionreplacement rules、および fallback sets を構成して、要求されたグリフが欠落しているときに使用されるフォントを正確に定義できます。

フォントを Linux/Docker コンテナ内で、システム全体にインストールせずに使用できますか?

はい。独自のフォント フォルダーを指すか、バイト配列からフォントをロードします。これにより、コンテナ イメージ内のシステム フォント ディレクトリへの依存がなくなります。

ライセンスはどうですか—制限なしに任意のカスタム フォントを埋め込めますか?

フォントのライセンス遵守は利用者の責任です。ライセンス条件はさまざまで、埋め込みや商用利用を禁止するものもあります。出力を配布する前に必ずフォントの EULA を確認してください。