ライセンス

概要

Aspose.Slides は評価モードまたは有効なライセンスで使用できます。評価版はライセンス版と同じ機能を提供しますが、保存する各プレゼンテーションのすべてのスライドに評価用の透かしが追加され、プレゼンテーションからコードが読み取るテキストが切り捨てられます。

本記事では Aspose.Slides のライセンス方式と、ライブラリを使用する前にライセンスを適用する方法を説明します。License クラスを使用してファイルまたはストリームからライセンスをロードできます。また、ライセンスが正しく適用されたかどうかを検証する方法も示します。

Aspose.Slides の評価

評価版の制限

  • ライセンスが指定されていない評価版は、製品のすべての機能を提供しますが、保存する各プレゼンテーションのすべてのスライドに評価用透かしテキストボックスが追加されます。
  • プレゼンテーションからコードが読み取るテキストは、最初の数文字に切り詰められ、評価制限に関する通知が付加されます。コードが書き込むテキストは全て保存されます。

Aspose.Slides のライセンス

  • 評価版は、ライセンスを購入して数行のコードで適用すると、ライセンス版になります。
  • ライセンスはプレーンテキストの XML ファイルで、製品名、ライセンス対象開発者数、サブスクリプション有効期限などの情報が含まれます。
  • ライセンスファイルはデジタル署名されているため、変更してはいけません。改行を追加するといった偶発的な変更でもファイルは無効になります。
  • フォルダーなしでファイル名だけを渡すと、Aspose.Slides for C++ はカレント ワーキング ディレクトリでライセンスファイルを検索します。実行ファイルや Aspose.Slides ライブラリのフォルダーは検索対象にならないため、別の場所にある場合はフルパスを指定してください。
  • 評価版の制限を回避するには、Aspose.Slides を使用する前にライセンスを設定する必要があります。ライセンスはアプリケーションまたはプロセスごとに一度設定すれば十分です。

ライセンスの適用

ライセンスは ファイル または ストリーム からロードできます。

ファイル

最も簡単な方法は、ライセンス ファイルをプログラムの作業ディレクトリに配置し、パスなしでファイル名だけを指定することです。別の場所にある場合はフルパスを指定します。

以下の C++ コードは、プログラムの作業ディレクトリにある Aspose.Slides.lic を適用します。

#include <Util/License.h>
#include <system/smart_ptr.h>
#include <system/string.h>

using namespace Aspose::Slides;
using namespace System;

int main()
{
    auto license = MakeObject<License>();
    license->SetLicense(u"Aspose.Slides.lic");

    return 0;
}

ライセンスが有効な場合、License::SetLicense は例外をスローせずに戻り、プログラムは何も出力せずに終了します。その後、Aspose.Slides は評価制限なしで動作します。ファイルが作業ディレクトリにない場合、メソッドはFileNotFoundException をスローし、メッセージは License “Aspose.Slides.lic” doesn’t exist or access is restricted となります。この例では例外を捕捉していないため、プログラムは停止します。

ストリーム

ライセンスをファイルとして保持せず、たとえばデータベースから読み込む場合は、ストリームからロードします。License::SetLicense はライセンスを含む任意の Stream を受け付けます。例を簡潔にするため、以下の C++ コードは作業ディレクトリの Aspose.Slides.lic を File::OpenRead で開き、そのストリームからライセンスを適用します。

#include <Util/License.h>
#include <system/io/file.h>
#include <system/smart_ptr.h>

using namespace Aspose::Slides;
using namespace System;
using namespace System::IO;

int main()
{
    auto license = MakeObject<License>();
    auto stream = File::OpenRead(u"Aspose.Slides.lic");
    license->SetLicense(stream);

    return 0;
}

有効なライセンスはファイル例と同じ結果になります。ファイルが存在しない場合、File::OpenRead が FileNotFoundException をスローし、ライセンスは適用されずにプログラムは停止します。

ライセンスの検証

ライセンスが正しく設定されたか確認するには、License::IsLicensed を呼び出します。有効なライセンスが適用された後にのみ true を返し、それ以前は false を返します。以下の C++ コードは作業ディレクトリのライセンス ファイルを適用し、続いて検証します。

#include <Util/License.h>
#include <system/console.h>
#include <system/smart_ptr.h>

using namespace Aspose::Slides;
using namespace System;

int main()
{
    auto license = MakeObject<License>();
    license->SetLicense(u"Aspose.Slides.lic");

    if (license->IsLicensed())
    {
        Console::WriteLine(u"License is good!");
    }

    return 0;
}

有効なライセンスがある場合、プログラムは License is good! と出力します。ファイルが不存在またはライセンス ファイルでない場合、License::SetLicense が例外をスローし、チェック前にプログラムは何も出力せずに停止します。署名が一致しないライセンス(例:編集された場合)では、SetLicense はエラーなしで戻りますが IsLicensed は false を返すため、何も出力されず Aspose.Slides は評価モードのままです。

スレッド安全性

よくある質問

完全にオフラインの環境(インターネット接続なし)でライセンスを適用できますか?

はい。ライセンスの検証はローカルのライセンス ファイルで行われるため、インターネット接続は不要です。

1 年間のサブスクリプションが期限切れになった後はどうなりますか?ライブラリは動作を停止しますか?

いいえ。ライセンスは永久的です。サブスクリプション終了日以前にリリースされたバージョンは引き続き使用できますが、更新せずに新しいリリースを使用することはできません。