フォントの置き換えに関する警告コールバックの取得方法 in Aspose.Slides

フォントの置き換えに関する警告コールバックの取得

Aspose.Slides for C++ は、レンダリングプロセス中に警告コールバックを取得するためのシンプルなAPIメソッドを提供しています。以下の手順に従って、あなたの環境で警告コールバックを構成する必要があります:

  1. コールバックを受信するためのカスタムコールバッククラスを作成します。
  2. LoadOptions クラスを使用して、警告コールバックを設定します。
  3. ターゲットマシンで利用できないフォントを使用しているプレゼンテーションファイルをロードします。
  4. スライドサムネイルを生成して、その効果を確認します。
class HandleFontsWarnings : public Warnings::IWarningCallback
{
public:
    Warnings::ReturnAction Warning(SharedPtr<Warnings::IWarningInfo> warning) override
    {
        if (warning->get_WarningType() == Warnings::WarningType::CompatibilityIssue)
        {
            return Warnings::ReturnAction::Continue;
        }

        // 1 - WarningType.DataLoss
        Console::WriteLine(System::ObjectExt::ToString(warning->get_WarningType()));
        // "フォントがXからYに置き換えられます"
        Console::WriteLine(warning->get_Description());

        return Warnings::ReturnAction::Continue;
    }
};
        
void Run()
{
    System::String dataDir = GetDataPath();

    // 警告コールバックの設定
    System::SharedPtr<LoadOptions> options = System::MakeObject<LoadOptions>();
    options->set_WarningCallback(System::MakeObject<HandleFontsWarnings>());

    // プレゼンテーションのインスタンス化
    System::SharedPtr<Presentation> presentation = System::MakeObject<Presentation>(dataDir + u"presentation.pptx", options);

    // スライドサムネイルの生成
    for (auto slide : presentation->get_Slides())
    {
        System::SharedPtr<IImage> image = slide->GetImage();
    }
}