Le cryptage PDF est le processus de protection du document à l’aide d’un mot de passe ainsi que de certains algorithmes cryptographiques, notamment AES ou RC4. Vous pouvez également définir différents privilèges pour limiter l’accès de l’utilisateur à différentes opérations. Par exemple, vous ne pouvez autoriser que l’impression, l’ajout d’annotations, le remplissage de formulaires, etc. Dans cet article, vous apprendrez à chiffrer des fichiers PDF à l’aide de C++. En outre, cet article explique également comment définir différents privilèges et décrypter des fichiers PDF protégés par mot de passe à l’aide de C++.
- API C++ pour chiffrer ou déchiffrer des fichiers PDF
- Crypter les fichiers PDF en utilisant C++
- Déchiffrer les fichiers PDF en utilisant C++
API C++ pour chiffrer ou déchiffrer des fichiers PDF
Aspose.PDF for C++ est une API C++ native qui vous permet de créer, de lire et de manipuler des documents PDF. De plus, il vous permet également de crypter les PDF avec des mots de passe et de décrypter les PDF cryptés en quelques lignes de code. Vous pouvez télécharger l’API à partir de la section téléchargements ou l’installer à l’aide de NuGet.
Crypter les fichiers PDF en utilisant C++
Voici les étapes pour chiffrer un fichier PDF à l’aide de Aspose.PDF for C++.
- Chargez le document PDF à l’aide de la classe Document.
- Utilisez la classe DocumentPrivilege pour définir différents privilèges tels que autoriser l’impression, autoriser la modification du contenu, etc.
- Appelez Document.Encrypt(String, String, SharedPtr , CryptoAlgorithm, bool) méthode pour chiffrer le PDF.
- Enregistrez le PDF en utilisant la méthode Document->Save(String).
L’exemple de code suivant montre comment chiffrer un fichier PDF à l’aide de C++.
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// Charger un document PDF existant
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\input.pdf");
// Way1 : Utilisation directe des privilèges prédéfinis.
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");
// Way2 : Basé sur un privilège prédéfini et modifier certaines autorisations spécifiques.
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");
// Way3 : Basé sur un privilège prédéfini et modifier certaines combinaisons d'autorisations Adobe Professional spécifiques.
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 : mélange les voies 2 et 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");
Déchiffrer les fichiers PDF en utilisant C++
Voici les étapes pour déchiffrer un fichier PDF à l’aide de Aspose.PDF for C++.
- Chargez le fichier PDF à l’aide de la classe Document et indiquez le chemin et le mot de passe du document.
- Décryptez le fichier en utilisant la méthode Document->Decrypt().
- Enregistrez le PDF décrypté à l’aide de la méthode Document->Save(String).
L’exemple de code suivant montre comment déchiffrer un PDF à l’aide de C++.
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// Charger un document PDF existant
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\Decrypt.pdf", L"password");
// Décrypter le PDF
doc->Decrypt();
// Enregistrer le document mis à jour
doc->Save(L"..\\Data\\SecurityAndSignatures\\Decrypt_out.pdf");
Conclusion
Dans cet article, vous avez appris à chiffrer ou à déchiffrer des fichiers PDF à l’aide de C++. L’exemple de code a également montré comment définir différents privilèges lors du cryptage d’un fichier PDF. Vous pouvez en savoir plus sur l’API PDF C++ à l’aide de documentation.