Лицензирование и подписка
Иногда, чтобы лучше изучить систему, хочется как можно быстрее погрузиться в код. Чтобы упростить задачу, Aspose.Words предоставляет различные тарифные планы для покупки или предлагает бесплатную пробную версию и временную лицензию на 30 дней для ознакомления.
Бесплатная пробная версия или временная лицензия
Aspose.Words - это невероятное программное обеспечение, которое разработчики могут попробовать перед покупкой.
Бесплатная пробная версия
Ознакомительная версия такая же, как и приобретенная – Пробная версия просто становится лицензированным, когда вы добавляете несколько строк кода для применения лицензии.
Пробная версия Aspose.Words без указанной лицензии обеспечивает полную функциональность продукта, но при загрузке и сохранении в верхней части документа добавляется оценочный водяной знак и максимальный размер документа ограничивается несколькими сотнями абзацев.
Временная лицензия
Если вы хотите протестировать Aspose.Words без ограничений пробной версии, вы также можете запросить временную лицензию сроком на 30 дней. Более подробную информацию смотрите в разделе Получить временную лицензию страница.
Приобретенная лицензия
После покупки вам необходимо применить файл лицензии или включить файл лицензии в качестве встроенного ресурса. В этом разделе описаны варианты того, как это можно сделать, а также даны комментарии по некоторым распространенным вопросам.
Вам необходимо установить лицензию:
- только один раз для каждого домена приложения
- перед использованием любых других классов Aspose.Words
Защита Вашей приобретенной лицензии
После приобретения лицензии вам необходимо внимательно ознакомиться с информацией на странице Защита приобретенной лицензии чтобы защитить ваш лицензионный файл. Пожалуйста, обратите внимание, что эта страница доступна для просмотра, только если у вас есть платная лицензия.
Параметры применения лицензии
Лицензии могут быть выданы из разных мест:
- Явный путь
- Папка, содержащая файл
Aspose.Words_\*.dll
- Папка, содержащая сборку, которая вызывала
Aspose.Words_\*.dll
- Папка, содержащая исходную сборку (ваш
.exe
) - Встроенный ресурс в сборке называется
Aspose.Words_\*.dll
Часто самый простой способ установить лицензию - поместить файл лицензии в ту же папку, что и Aspose.Words_\*.dll
, и указать только имя файла без указания пути.
Используйте метод SetLicense для лицензирования компонента.
Многократный вызов SetLicense не вреден, это просто пустая трата процессорного времени.
Применить лицензию с помощью файла или потокового объекта
При разработке вашего приложения вызывайте SetLicense в коде запуска перед использованием классов Aspose.Words.
Загрузите лицензию из файла
Используя метод SetLicense, вы можете попытаться найти файл лицензии в папках embedded resources или assembly для дальнейшего использования.
В следующем примере кода показано, как инициализировать лицензию из папки:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto license = MakeObject<License>(); | |
// This line attempts to set a license from several locations relative to the executable and Aspose.Words.dll. | |
// You can also use the additional overload to load a license from a stream, this is useful, | |
// for instance, when the license is stored as an embedded resource. | |
try | |
{ | |
license->SetLicense(u"Aspose.Words.Cpp.lic"); | |
std::cout << "License set successfully." << std::endl; | |
} | |
catch (System::Exception& e) | |
{ | |
// We do not ship any license with this example, | |
// visit the Aspose site to obtain either a temporary or permanent license. | |
std::cout << (String(u"\nThere was an error setting the license: ") + e->get_Message()) << std::endl; | |
} |
Загрузите лицензию из потокового объекта
В следующем примере кода показано, как инициализировать лицензию из потока, используя другой метод SetLicense:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto license = MakeObject<License>(); | |
try | |
{ | |
license->SetLicense(MakeObject<System::IO::MemoryStream>(System::IO::File::ReadAllBytes(u"Aspose.Words.Cpp.lic"))); | |
std::cout << "License set successfully." << std::endl; | |
} | |
catch (System::Exception& e) | |
{ | |
// We do not ship any license with this example, | |
// visit the Aspose site to obtain either a temporary or permanent license. | |
std::cout << (String(u"\nThere was an error setting the license: ") + e->get_Message()) << std::endl; | |
} |
Включите файл лицензии в качестве встроенного ресурса
Простой способ подключить лицензию к вашему приложению и убедиться, что она не будет потеряна, - это включить ее в качестве встроенного ресурса. Способ внедрения и использования ресурсов зависит от вашей целевой платформы.
Windows
Предположим, вы добавили лицензию в качестве ресурса, как показано ниже.
resource.h
#define IDR_ASPOSE_WORDS_LIC 101
resource.rc
IDR_ASPOSE_WORDS_LIC RCDATA "Aspose.Words.Cpp.lic"
В следующем примере кода показано, как инициализировать лицензию из встроенного ресурса, используя метод SetLicense:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto hResource = FindResource(nullptr, MAKEINTRESOURCEA(IDR_ASPOSE_WORDS_LIC), RT_RCDATA); | |
auto hMemory = LoadResource(nullptr, hResource); | |
auto size = SizeofResource(nullptr, hResource); | |
auto ptr = LockResource(hMemory); | |
auto licResource = System::MakeArray<uint8_t>(size); | |
std::copy_n(static_cast<const uint8_t*>(ptr), size, licResource->begin()); | |
FreeResource(hMemory); | |
auto license = System::MakeObject<License>(); | |
try | |
{ | |
license->SetLicense(MakeObject<System::IO::MemoryStream>(licResource)); | |
std::cout << "License set successfully." << std::endl; | |
} | |
catch (System::Exception& e) | |
{ | |
std::cout << (String(u"\nThere was an error setting the license: ") + e->get_Message()) << std::endl; | |
} |
Linux
Существует аналогичный способ встраивания ресурсов в Linux в исполняемый файл.
В следующем примере кода показано, как инициализировать лицензию из встроенного ресурса, используя метод SetLicense:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
// A file named Aspose.Words.lic is 'imported' into an object file | |
// using the following command: | |
// | |
// ld -r -b binary -o aspose.words.lic.o Aspose.Words.lic | |
// | |
// That creates an object file named "aspose.words.lic.o" with the following | |
// symbols: | |
// | |
// _binary_aspose_words_lic_start | |
// _binary_aspose_words_lic_end | |
// _binary_aspose_words_lic_size | |
// | |
// Note that the symbols are addresses | |
extern uint8_t _binary_aspose_words_lic_start[]; | |
extern uint8_t _binary_aspose_words_lic_end[]; | |
extern uint8_t _binary_aspose_words_lic_size[]; | |
std::ptrdiff_t size = _binary_aspose_words_lic_end - _binary_aspose_words_lic_start; | |
auto licResource = System::MakeArray<uint8_t>(size); | |
std::copy(_binary_aspose_words_lic_start, _binary_aspose_words_lic_end, licResource->begin()); | |
auto license = MakeObject<License>(); | |
try | |
{ | |
license->SetLicense(MakeObject<System::IO::MemoryStream>(licResource)); | |
std::cout << "License set successfully." << std::endl; | |
} | |
catch (System::Exception& e) | |
{ | |
std::cout << (String(u"\nThere was an error setting the license: ") + e->get_Message()) << std::endl; | |
} |
Изменение имени файла лицензии
Имя файла лицензии не обязательно должно быть “Aspose.Words.LIC”. Вы можете переименовать его по своему усмотрению и использовать это имя при настройке лицензии в вашем приложении.
Исключение “Не удается найти имя файла лицензии”
Когда вы приобретаете и загружаете лицензию, веб-сайт Aspose присваивает файлу лицензии имя “Aspose.Words.LIC”. Вы загружаете файл лицензии с помощью своего браузера. В этом случае некоторые браузеры распознают файл лицензии как XML и добавляют к нему расширение .xml, поэтому полное имя файла на вашем компьютере становится “Aspose.Words.lic.XML”.
Если Microsoft Windows настроена на скрытие расширений для известных типов файлов (к сожалению, это используется по умолчанию в большинстве установок Windows), файл лицензии будет отображаться как “Aspose.Words. LIC” в проводнике Windows. Вы, вероятно, подумаете, что это настоящее имя файла, и вызовете SetLicense, передав его “Aspose.Words.LIC”, но такого файла нет, отсюда и исключение.
Чтобы решить проблему, переименуйте файл, чтобы удалить невидимое расширение .xml. Мы также рекомендуем вам отключить опцию “скрывать расширения” в Microsoft Windows.
Использование нескольких продуктов Aspose
Если вы используете в своем приложении несколько продуктов Aspose, таких как Aspose.Words и Aspose.Cells
, вот несколько полезных советов:
- Установите лицензию для каждого продукта Aspose отдельно. Даже если у вас есть один файл лицензии для всех компонентов, например, “Aspose.Total.lic”, вам все равно нужно вызывать SetLicense отдельно для каждого продукта Aspose, который вы используете в своем приложении.
- Используйте полное название класса лицензии. Каждый продукт Aspose имеет класс License в своем собственном пространстве имен. Например, в Aspose.Words есть Aspose.Words.License, а в
Aspose.Cells
-Aspose.Cells
.Класс лицензии. Использование полного названия класса позволяет избежать путаницы в отношении того, какая лицензия применяется к тому или иному продукту.