Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Мы хотим, чтобы наши клиенты тщательно протестировали наши компоненты перед покупкой, поэтому оценочная версия позволяет вам использовать ее так, как вы обычно это делаете.
PDF, созданный с оценочным водяным знаком. Оценочная версия Aspose.PDF for .NET предоставляет полную функциональность продукта, но все страницы в сгенерированных PDF-документах имеют водяной знак с текстом “Только для оценки. Создано с помощью Aspose.PDF. Авторские права 2002-2025 Aspose Pty Ltd.” вверху.
Ограничение количества страниц, которые можно обработать. В оценочной версии вы можете обрабатывать только первые четыре страницы документа.
Если вы хотите протестировать Aspose.PDF for .NET без ограничений оценочной версии, вы также можете запросить временную лицензию на 30 дней. Пожалуйста, обратитесь к Как получить временную лицензию?
Лицензия может быть загружена из файла или объекта потока. Самый простой способ установить лицензию — поместить файл лицензии в ту же папку, что и файл Aspose.PDF.dll, и указать имя файла без пути, как показано в примере ниже.
Если вы используете любой другой компонент Aspose для .NET вместе с Aspose.PDF for .NET, пожалуйста, укажите пространство имен для лицензии, например Aspose.Pdf.License.
Самый простой способ применить лицензию — поместить файл лицензии в ту же папку, что и файл Aspose.PDF.dll, и указать только имя файла без пути.
Когда вы вызываете метод SetLicense, имя лицензии, которое вы передаете, должно соответствовать имени вашего файла лицензии. Например, если вы измените имя файла лицензии на “Aspose.PDF.lic.xml”, передайте это имя файла в метод Pdf.SetLicense(…).
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SetLicenseExample()
{
// Initialize license object
var license = new Aspose.Pdf.License();
try
{
// Set license
license.SetLicense("Aspose.Pdf.lic");
}
catch (Exception)
{
// Something went wrong
throw;
}
Console.WriteLine("License set successfully.");
}
Следующий пример показывает, как загрузить лицензию из потока.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SetLicenseFromStream()
{
// Initialize license object
var license = new Aspose.Pdf.License();
// Load license from the file stream
var myStream = new FileStream(
"Aspose.Pdf.lic",
FileMode.Open);
// Set license
license.SetLicense(myStream);
Console.WriteLine("License set successfully.");
}
Aspose.PDF позволяет разработчикам применять лицензионный ключ с учетом использования. Механизм лицензирования с учетом использования будет использоваться вместе с существующим методом лицензирования. Те клиенты, которые хотят получать счета на основе использования функций API, могут использовать лицензирование с учетом использования. Для получения дополнительной информации, пожалуйста, обратитесь к разделу Часто задаваемые вопросы по лицензированию с учетом использования. Этот гид предоставляет лучшие практики для плавной реализации и предотвращения сбоев из-за изменений статуса лицензии.
Класс “Metered” используется для применения лицензий с учетом использования. Следующий пример кода демонстрирует, как установить публичные и приватные ключи с учетом использования.
Для получения дополнительной информации, пожалуйста, обратитесь к разделу Часто задаваемые вопросы по лицензированию с учетом использования.
Методы лицензирования с учетом использования
Применяя лицензию с учетом использования, используйте метод SetMeteredKey
, чтобы активировать лицензию с учетом использования, предоставив ваши публичные и приватные ключи. Это должно быть сделано один раз во время инициализации приложения, чтобы обеспечить правильное лицензирование.
Пример:
var metered = new Aspose.Pdf.Metered();
metered.SetMeteredKey("your-public-key", "your-private-key");
Проверка статуса лицензии использует IsMeteredLicensed()
, чтобы проверить, активна ли лицензия с учетом использования.
Пример:
bool isLicensed = Aspose.Pdf.License.IsMeteredLicensed();
if (!isLicensed)
{
metered.SetMeteredKey("your-public-key", "your-private-key");
}
Метод Metered.GetConsumptionCredit()
используется для получения информации о кредитах потребления.
Метод Metered.GetConsumptionQuantity()
используется для получения информации о размере файла потребления.
Пример:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SetMeteredLicense()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();
// Set metered public and private keys
var metered = new Aspose.Pdf.Metered();
// Access the setMeteredKey property and pass public and private keys as parameters
metered.SetMeteredKey("your public key", "your private key");
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Add five pages
AddPages(document, 5);
// Save the document
document.Save(dataDir + "output.pdf")
}
}
private static void AddPages(Document document, int n)
{
for(int i = 0; i < n; i++)
{
document.Pages.Add();
}
}
Лучшие практики для лицензирования с учетом использования
✅ Рекомендуемый подход: Паттерн Singleton Чтобы обеспечить стабильную настройку лицензирования:
IsMeteredLicensed()
. Повторно применяйте лицензию только в случае ее недействительности.Пример: Реализация Singleton
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
public class AsposeLicenseManager
{
private static AsposeLicenseManager _instance;
private static readonly object _lock = new object();
private Aspose.Pdf.Metered _metered;
private AsposeLicenseManager()
{
_metered = new Aspose.Pdf.Metered();
_metered.SetMeteredKey("your-public-key", "your-private-key");
}
public static AsposeLicenseManager Instance
{
get
{
lock (_lock)
{
if (_instance == null)
{
_instance = new AsposeLicenseManager();
}
return _instance;
}
}
}
public void ValidateLicense()
{
if (!Aspose.Pdf.License.IsMeteredLicensed())
{
_metered.SetMeteredKey("your-public-key", "your-private-key");
}
}
}
❌ Общие ошибки, которых следует избегать:
Резюме:
✅ Установите лицензию с учетом использования один раз при запуске приложения. ✅ Используйте паттерн Singleton для управления единственным экземпляром. ✅ Периодически проверяйте и повторно применяйте лицензию при необходимости. ❌ Избегайте частых применений лицензии, чтобы предотвратить возврат в режим пробной версии. Следуя этим лучшим практикам, вы обеспечите плавное и непрерывное использование Aspose.PDF с лицензированием с учетом использования.
Если лицензия была инициализирована, то пока этот объект “существует”, даже если соединение с сервером лицензий потеряно по какой-либо причине, лицензия будет считаться активной еще в течение 7 дней. Если вы инициализируете лицензию каждый раз, когда вам нужно что-то сделать, и в момент инициализации нет соединения с сервером, лицензия перейдет в режим оценки. Следует дополнительно подчеркнуть, что если пользователь инициализировал лицензию, то пока этот объект “существует”, даже если соединение с сервером лицензий потеряно по какой-либо причине, лицензия будет считаться активной еще в течение 24 часов. Если вы инициализируете лицензию каждый раз, когда вам нужно что-то сделать, и в момент инициализации нет соединения с сервером, лицензия перейдет в режим оценки.
Пожалуйста, обратите внимание, что приложения COM, которые работают с Aspose.PDF for .NET, также должны использовать класс License.
Один момент, который требует внимания: Пожалуйста, обратите внимание, что встроенные ресурсы включены в сборку так, как они добавлены, т.е. если вы добавите текстовый файл как встроенный ресурс в приложение и откроете полученный EXE в блокноте, вы увидите точное содержимое текстового файла. Поэтому, когда вы используете файл лицензии как встроенный ресурс, любой может открыть exe-файл в простом текстовом редакторе и увидеть/извлечь содержимое встроенной лицензии.
Поэтому, чтобы добавить дополнительный уровень безопасности при встраивании лицензии в приложение, вы можете сжать/зашифровать лицензию, а затем встроить ее в сборку. Предположим, у нас есть файл лицензии Aspose.PDF.lic, так что давайте создадим Aspose.PDF.zip с паролем test и встроим этот zip-файл в решение. Следующий фрагмент кода можно использовать для инициализации лицензии:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SetLicenseFromStream()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();
var license = new Aspose.Pdf.License();
license.SetLicense(GetSecureLicenseFromStream());
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Get the page count of document
Console.WriteLine(document.Pages.Count);
}
}
private static Stream GetSecureLicenseFromStream()
{
var assembly = Assembly.GetExecutingAssembly();
var memoryStream = new MemoryStream();
using (var zipToOpen = assembly.GetManifestResourceStream("Aspose.Pdf.Examples.License.Aspose.PDF.zip"))
{
using (ZipArchive archive = new ZipArchive(zipToOpen ?? throw new InvalidOperationException(), ZipArchiveMode.Read))
{
var unpackedLicense = archive.GetEntry("Aspose.PDF.lic");
unpackedLicense?.Open().CopyTo(memoryStream);
}
}
memoryStream.Position = 0;
return memoryStream;
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.