mã hóa giải mã pdf C++

Mã hóa PDF là quá trình bảo vệ tài liệu bằng mật khẩu cũng như một số thuật toán mã hóa bao gồm AES hoặc RC4. Bạn cũng có thể đặt các đặc quyền khác nhau để giới hạn quyền truy cập của người dùng vào các hoạt động khác nhau. Ví dụ: bạn chỉ có thể cho phép in, thêm chú thích, điền biểu mẫu, v.v. Trong bài viết này, bạn sẽ tìm hiểu cách mã hóa tệp PDF bằng C++. Ngoài ra, bài viết này cũng đề cập đến cách đặt các đặc quyền khác nhau và giải mã các tệp PDF được bảo vệ bằng mật khẩu bằng C++.

API C++ để mã hóa hoặc giải mã tệp PDF

Aspose.PDF for C++ là API C++ gốc cho phép bạn tạo, đọc và thao tác với tài liệu PDF. Ngoài ra, nó cũng cho phép bạn mã hóa các tệp PDF bằng mật khẩu và giải mã các tệp PDF được mã hóa trong một vài dòng mã. Bạn có thể tải xuống API từ phần downloads hoặc cài đặt nó bằng NuGet.

Mã hóa tệp PDF bằng C ++

Sau đây là các bước để mã hóa tệp PDF bằng Aspose.PDF for C++.

Mẫu mã sau đây cho biết cách mã hóa tệp PDF bằng C++.

For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// Tải tài liệu PDF hiện có
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\input.pdf");

// Cách 1: Sử dụng trực tiếp đặc quyền được xác định trước.
System::SharedPtr<Aspose::Pdf::Facades::DocumentPrivilege> privilege = Aspose::Pdf::Facades::DocumentPrivilege::get_Print();
doc->Encrypt(L"user", L"owner", privilege, CryptoAlgorithm::AESx128, false);
doc->Save(L"..\\Data\\SecurityAndSignatures\\SetPrivelegesWay1_out.pdf");

// Cách 2: Dựa trên đặc quyền được xác định trước và thay đổi một số quyền cụ thể.
System::SharedPtr<Aspose::Pdf::Facades::DocumentPrivilege> privilege2 = Aspose::Pdf::Facades::DocumentPrivilege::get_AllowAll();
privilege->set_AllowPrint(false);
privilege->set_AllowModifyContents(false);
doc->Encrypt(L"user", L"owner", privilege2, CryptoAlgorithm::AESx128, false);
doc->Save(L"..\\Data\\SecurityAndSignatures\\SetPrivelegesWay2_out.pdf");

// Cách 3: Dựa trên đặc quyền được xác định trước và thay đổi một số kết hợp quyền Adobe Professional cụ thể.
System::SharedPtr<Aspose::Pdf::Facades::DocumentPrivilege> privilege3 = Aspose::Pdf::Facades::DocumentPrivilege::get_ForbidAll();
privilege->set_ChangeAllowLevel(1);
privilege->set_PrintAllowLevel(2);
doc->Encrypt(L"user", L"owner", privilege3, CryptoAlgorithm::AESx128, false);
doc->Save(L"..\\Data\\SecurityAndSignatures\\SetPrivelegesWay3_out.pdf");

// Cách 4: Trộn cách 2 và cách 3
System::SharedPtr<Aspose::Pdf::Facades::DocumentPrivilege> privilege4 = Aspose::Pdf::Facades::DocumentPrivilege::get_ForbidAll();
privilege->set_ChangeAllowLevel(1);
privilege->set_AllowPrint(true);
doc->Encrypt(L"user", L"owner", privilege4, CryptoAlgorithm::AESx128, false);
doc->Save(L"..\\Data\\SecurityAndSignatures\\SetPrivelegesWay4_out.pdf");

Giải mã tệp PDF bằng C ++

Sau đây là các bước để giải mã tệp PDF bằng Aspose.PDF for C++.

Mẫu mã sau đây cho biết cách giải mã tệp PDF bằng C++.

For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// Tải tài liệu PDF hiện có
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\Decrypt.pdf", L"password");
// Giải mã PDF
doc->Decrypt();
// Lưu tài liệu đã cập nhật
doc->Save(L"..\\Data\\SecurityAndSignatures\\Decrypt_out.pdf");

Sự kết luận

Trong bài viết này, bạn đã học cách mã hóa hoặc giải mã các tệp PDF bằng C++. Mẫu mã cũng đã chỉ ra cách đặt các đặc quyền khác nhau khi mã hóa tệp PDF. Bạn có thể khám phá thêm về C++ PDF API bằng cách sử dụng tài liệu.

Xem thêm