Cấp phép

Tổng quan

Aspose.Slides có thể được sử dụng ở chế độ đánh giá hoặc với giấy phép hợp lệ. Phiên bản đánh giá cung cấp cùng chức năng như phiên bản có giấy phép, nhưng nó thêm một dấu watermark đánh giá vào mọi slide của mỗi bài thuyết trình mà nó lưu và cắt ngắn văn bản mà mã của bạn đọc từ các bài thuyết trình.

Bài viết này giải thích cách giấy phép hoạt động trong Aspose.Slides và cách áp dụng giấy phép trước khi sử dụng thư viện. Một giấy phép có thể được tải từ tệp hoặc luồng bằng cách sử dụng lớp License. Bài viết cũng chỉ ra cách xác minh xem giấy phép đã được áp dụng đúng chưa.

Đánh giá Aspose.Slides

Giới hạn của Phiên bản Đánh giá

  • Phiên bản đánh giá (không chỉ định giấy phép) cung cấp đầy đủ chức năng sản phẩm, nhưng nó thêm một hộp văn bản watermark đánh giá vào mọi slide của mỗi bài thuyết trình mà nó lưu.
  • Văn bản mà mã của bạn đọc từ một bài thuyết trình sẽ bị cắt ngắn tới một vài ký tự đầu, sau đó là thông báo về giới hạn đánh giá. Văn bản mà mã của bạn ghi sẽ được lưu đầy đủ.

Giấy phép trong Aspose.Slides

  • Một phiên bản đánh giá sẽ trở thành có giấy phép sau khi bạn mua giấy phép và áp dụng nó bằng cách thêm một vài dòng mã.
  • Giấy phép là một tệp XML dạng văn bản thuần chứa các chi tiết như tên sản phẩm, số lượng nhà phát triển được cấp phép, ngày hết hạn đăng ký, v.v.
  • Tệp giấy phép được ký kỹ thuật số, do đó không được phép chỉnh sửa. Ngay cả một thay đổi vô tình—như thêm dấu xuống dòng—cũng sẽ làm tệp không hợp lệ.
  • Khi bạn truyền tên tệp mà không có thư mục, Aspose.Slides for C++ sẽ chỉ tìm tệp giấy phép trong thư mục làm việc hiện tại. Nó không tìm trong thư mục chứa file thực thi của bạn hoặc thư viện Aspose.Slides, vì vậy hãy truyền đường dẫn đầy đủ khi tệp giấy phép được lưu ở nơi khác.
  • Để tránh các hạn chế của phiên bản đánh giá, bạn phải thiết lập giấy phép trước khi sử dụng Aspose.Slides. Một giấy phép chỉ cần được thiết lập một lần cho mỗi ứng dụng hoặc quy trình.

Áp dụng Giấy phép

Giấy phép có thể được tải từ tệp hoặc luồng.

Tệp

Cách dễ nhất để thiết lập giấy phép là đặt tệp giấy phép vào thư mục làm việc của chương trình và chỉ định tên tệp, không cần đường dẫn. Nếu không, hãy chỉ định đường dẫn đầy đủ tới tệp.

Mã C++ sau áp dụng tệp giấy phép Aspose.Slides.lic từ thư mục làm việc của chương trình:

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

Nếu giấy phép hợp lệ, License::SetLicense sẽ trả về và chương trình kết thúc mà không xuất ra gì; từ đó, Aspose.Slides hoạt động mà không có các hạn chế đánh giá. Nếu tệp không có trong thư mục làm việc, phương thức sẽ ném một FileNotFoundException với thông điệp License “Aspose.Slides.lic” doesn’t exist or access is restricted. Ví dụ không xử lý ngoại lệ, vì vậy chương trình dừng lại.

Luồng

Tải giấy phép từ một luồng khi chương trình của bạn không giữ giấy phép dưới dạng tệp có thể đặt tên, ví dụ, khi nó đọc giấy phép từ cơ sở dữ liệu. License::SetLicense chấp nhận bất kỳ Stream nào chứa giấy phép. Để giữ ví dụ ngắn gọn, mã C++ sau mở Aspose.Slides.lic trong thư mục làm việc bằng File::OpenRead và áp dụng giấy phép từ luồng đó:

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

Giấy phép hợp lệ cho kết quả giống như ví dụ tệp. Nếu tệp không tồn tại, File::OpenRead sẽ ném một FileNotFoundException trước khi giấy phép được áp dụng, và chương trình dừng lại.

Xác thực Giấy phép

Để kiểm tra liệu giấy phép đã được thiết lập đúng chưa, gọi License::IsLicensed. Nó sẽ trả về true chỉ sau khi một giấy phép hợp lệ đã được áp dụng, và false trước đó. Mã C++ sau áp dụng tệp giấy phép từ thư mục làm việc và sau đó kiểm tra nó:

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

Với giấy phép hợp lệ, chương trình in License is good!. Nếu tệp bị thiếu hoặc không phải là tệp giấy phép, License::SetLicense sẽ ném ngoại lệ trước khi kiểm tra, và chương trình dừng lại mà không in gì. Nếu tệp là giấy phép nhưng chữ ký không khớp, ví dụ vì đã được chỉnh sửa, SetLicense sẽ trả về mà không có lỗi nhưng IsLicensed sẽ trả về false, vì vậy không có gì được in và Aspose.Slides vẫn ở chế độ đánh giá.

An toàn đa luồng

Câu hỏi thường gặp

Tôi có thể áp dụng giấy phép trong môi trường hoàn toàn offline (không có kết nối internet) không?

Có. Việc xác thực giấy phép được thực hiện cục bộ bằng tệp giấy phép; không cần kết nối internet.

Điều gì sẽ xảy ra sau khi đăng ký một năm hết hạn? Thư viện có ngừng hoạt động không?

Không. Giấy phép là vĩnh viễn: bạn có thể tiếp tục sử dụng các phiên bản được phát hành trước ngày kết thúc đăng ký; bạn chỉ không được phép sử dụng các bản phát hành mới hơn nếu không gia hạn.