Шифрування PDF – це процес захисту документа за допомогою пароля, а також деяких криптографічних алгоритмів, зокрема AES або RC4. Ви також можете встановити різні привілеї, щоб обмежити доступ користувача до різних операцій. Наприклад, ви можете дозволити лише друк, додавання анотацій, заповнення форм тощо. У цій статті ви дізнаєтеся, як шифрувати PDF-файли за допомогою C++. Крім того, у цій статті також описано, як налаштувати різні привілеї та розшифрувати захищені паролем PDF-файли за допомогою C++.
- C++ API для шифрування або дешифрування PDF-файлів
- Шифруйте файли PDF за допомогою C++
- Розшифруйте файли PDF за допомогою C++
C++ API для шифрування або дешифрування PDF-файлів
Aspose.PDF for C++ — це рідний API C++, який дозволяє створювати, читати та працювати з документами PDF. Крім того, він також дозволяє шифрувати PDF-файли паролями та розшифровувати зашифровані PDF-файли за допомогою кількох рядків коду. Ви можете завантажити API з розділу завантаження або встановити його за допомогою NuGet.
Шифруйте файли PDF за допомогою C++
Нижче наведено кроки для шифрування файлу PDF за допомогою Aspose.PDF for C++.
- Завантажте PDF-документ за допомогою класу Document.
- Використовуйте клас DocumentPrivilege, щоб установити різні привілеї, наприклад дозволити друк, дозволити змінювати вміст тощо.
- Виклик Document.Encrypt(String, String, SharedPtr , CryptoAlgorithm, bool) метод шифрування PDF.
- Збережіть PDF за допомогою методу Document->Save(String).
У наведеному нижче прикладі коду показано, як зашифрувати PDF-файл за допомогою C++.
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// Завантажте наявний документ PDF
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\input.pdf");
// Спосіб 1: Безпосереднє використання попередньо визначених привілеїв.
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");
// Спосіб 2: на основі попередньо визначених привілеїв і зміни деяких спеціальних дозволів.
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");
// Спосіб 3: на основі попередньо визначених привілеїв і зміни певної комбінації дозволів Adobe Professional.
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");
// Way4: змішує шлях2 і шлях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");
Розшифруйте файли PDF за допомогою C++
Нижче наведено кроки для розшифровки PDF-файлу за допомогою Aspose.PDF for C++.
- Завантажте PDF-файл за допомогою класу Document і вкажіть шлях до документа та пароль.
- Розшифруйте файл за допомогою методу Document->Decrypt().
- Збережіть розшифрований PDF за допомогою методу Document->Save(String).
У наведеному нижче прикладі коду показано, як розшифрувати PDF-файл за допомогою C++.
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// Завантажте наявний документ PDF
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\Decrypt.pdf", L"password");
// Розшифрувати PDF
doc->Decrypt();
// Збережіть оновлений документ
doc->Save(L"..\\Data\\SecurityAndSignatures\\Decrypt_out.pdf");
Висновок
У цій статті ви дізналися, як шифрувати або розшифровувати файли PDF за допомогою C++. Зразок коду також показав, як встановити різні привілеї під час шифрування файлу PDF. Ви можете дізнатися більше про C++ PDF API за допомогою документації.