Licencjonowanie

Przegląd

Aspose.Slides można używać w trybie ewaluacyjnym lub z ważną licencją. Wersja ewaluacyjna zapewnia taką samą funkcjonalność jak wersja licencjonowana, ale dodaje znak wodny ewaluacji do każdego slajdu każdej prezentacji, którą zapisuje, oraz przycina tekst, który Twój kod odczytuje z prezentacji.

Ten artykuł wyjaśnia, jak działa licencjonowanie w Aspose.Slides oraz jak zastosować licencję przed użyciem biblioteki. Licencję można załadować z pliku lub strumienia przy użyciu klasy License. Artykuł również pokazuje, jak zweryfikować, czy licencja została poprawnie zastosowana.

Ewaluacja Aspose.Slides

Ograniczenia wersji ewaluacyjnej

  • Wersja ewaluacyjna (bez określonej licencji) zapewnia pełną funkcjonalność produktu, ale dodaje pole tekstowe znaku wodnego ewaluacji do każdego slajdu każdej prezentacji, którą zapisuje.
  • Tekst, który Twój kod odczytuje z prezentacji, jest przycinany do pierwszych kilku znaków, po których następuje informacja o ograniczeniu wersji ewaluacyjnej. Tekst, który Twój kod zapisuje, jest zapisywany w całości.

Licencjonowanie w Aspose.Slides

  • Wersja ewaluacyjna staje się licencjonowana po zakupie licencji i jej zastosowaniu poprzez dodanie kilku linii kodu.
  • Licencja jest zwykłym plikiem XML w formacie tekstowym, który zawiera szczegóły takie jak nazwa produktu, liczba deweloperów, do których jest licencjonowana, data wygaśnięcia subskrypcji i inne.
  • Plik licencji jest cyfrowo podpisany, więc nie należy go modyfikować. Nawet przypadkowa zmiana — np. dodanie znaku nowej linii — unieważni plik.
  • Gdy podasz nazwę pliku bez folderu, Aspose.Slides for C++ szuka pliku licencji tylko w bieżącym katalogu roboczym. Nie przeszukuje folderu Twojego pliku wykonywalnego ani biblioteki Aspose.Slides, więc podaj pełną ścieżkę, gdy plik licencji jest przechowywany w innym miejscu.
  • Aby uniknąć ograniczeń wersji ewaluacyjnej, musisz ustawić licencję przed użyciem Aspose.Slides. Licencję wystarczy ustawić raz na aplikację lub proces.

Zastosowanie licencji

Licencję można załadować z pliku lub strumienia.

Plik

Najłatwiejszy sposób ustawienia licencji to umieszczenie pliku licencji w katalogu roboczym programu i podanie tylko nazwy pliku, bez ścieżki. W przeciwnym razie podaj pełną ścieżkę do pliku.

Poniższy kod C++ stosuje plik licencji Aspose.Slides.lic z katalogu roboczego programu:

#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;
}

Jeśli licencja jest ważna, License::SetLicense zwraca i program kończy się bez wyjścia; od tego momentu Aspose.Slides działa bez ograniczeń wersji ewaluacyjnej. Jeśli plik nie znajduje się w katalogu roboczym, metoda wyrzuca FileNotFoundException z komunikatem License “Aspose.Slides.lic” doesn’t exist or access is restricted. Przykład nie obsługuje wyjątku, więc program się zatrzymuje.

Strumień

Załaduj licencję ze strumienia, gdy Twój program nie przechowuje licencji jako pliku, który może nazwąć, na przykład gdy odczytuje licencję z bazy danych. License::SetLicense akceptuje dowolny Stream zawierający licencję. Aby skrócić przykład, poniższy kod C++ otwiera Aspose.Slides.lic w katalogu roboczym przy użyciu File::OpenRead i stosuje licencję z tego strumienia:

#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;
}

Poprawna licencja daje ten sam wynik co w przykładzie plikowym. Jeśli plik nie istnieje, File::OpenRead wyrzuca FileNotFoundException przed zastosowaniem licencji i program się zatrzymuje.

Walidacja licencji

Aby sprawdzić, czy licencja została prawidłowo ustawiona, wywołaj License::IsLicensed. Zwraca true tylko po zastosowaniu ważnej licencji, a false przed tym. Poniższy kod C++ ustawia plik licencji z katalogu roboczego, a następnie go sprawdza:

#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;
}

Przy ważnej licencji program wypisuje License is good!. Jeśli plik jest brakujący lub nie jest plikiem licencji, License::SetLicense wyrzuca wyjątek przed sprawdzeniem i program kończy się bez wypisywania czegokolwiek. Jeśli plik jest licencją, której podpis nie pasuje, np. ponieważ został zmodyfikowany, SetLicense zwraca bez błędu, ale IsLicensed zwraca false, więc nic nie jest wypisywane i Aspose.Slides pozostaje w trybie ewaluacyjnym.

Bezpieczeństwo wątków

FAQ

Czy mogę zastosować licencję w całkowicie offline środowisku (bez dostępu do internetu)?

Tak. Walidacja licencji odbywa się lokalnie przy użyciu pliku licencji; połączenie internetowe nie jest wymagane.

Co się dzieje po wygaśnięciu rocznej subskrypcji? Czy biblioteka przestanie działać?

Nie. Licencja jest wieczysta: możesz nadal używać wersji wydanych przed datą zakończenia subskrypcji; po prostu nie będziesz uprawniony do korzystania z nowszych wydań bez odnowienia.