PDF-kryptering är processen att skydda dokumentet med ett lösenord samt vissa kryptografiska algoritmer inklusive AES eller RC4. Du kan också ställa in olika privilegier för att begränsa användarens åtkomst till olika operationer. Du kan till exempel bara tillåta utskrift, lägga till anteckningar, fylla i formulär etc. I den här artikeln kommer du att lära dig hur du krypterar PDF-filer med C++. Dessutom täcker den här artikeln också hur man ställer in olika privilegier och dekrypterar lösenordsskyddade PDF-filer med C++.
- C++ API för att kryptera eller dekryptera PDF-filer
- Kryptera PDF-filer med C++
- Dekryptera PDF-filer med C++
C++ API för att kryptera eller dekryptera PDF-filer
Aspose.PDF for C++ är ett inbyggt C++ API som låter dig skapa, läsa och manipulera PDF-dokument. Dessutom låter den dig också kryptera PDF-filer med lösenord och dekryptera de krypterade PDF-filerna inom några rader kod. Du kan ladda ner API:t från avsnittet downloads eller få det installerat med NuGet.
Kryptera PDF-filer med C++
Följande är stegen för att kryptera en PDF-fil med Aspose.PDF för C++.
- Ladda PDF-dokumentet med klassen Dokument.
- Använd klassen DocumentPrivilege för att ställa in olika privilegier som att tillåta utskrift, tillåta ändring av innehåll och etc.
- Ring Document.Encrypt(String, String, SharedPtr , CryptoAlgorithm, bool) metod för att kryptera PDF:en.
- Spara PDF-filen med metoden Dokument->Spara(String).
Följande kodexempel visar hur man krypterar en PDF-fil med C++.
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// Ladda ett befintligt PDF-dokument
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\input.pdf");
// Sätt 1: Använder fördefinierad behörighet direkt.
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");
// Sätt 2: Baserat på en fördefinierad behörighet och ändra några specifika behörigheter.
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");
// Sätt 3: Baserat på en fördefinierad behörighet och ändra någon specifik Adobe Professional-behörighetskombination.
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: Blandar way2 och way3
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");
Dekryptera PDF-filer med C++
Följande är stegen för att dekryptera en PDF-fil med Aspose.PDF för C++.
- Ladda PDF-filen med klassen Document och ange dokumentets sökväg och lösenord.
- Dekryptera filen med metoden Document->Decrypt().
- Spara den dekrypterade PDF-filen med metoden Dokument->Spara(String).
Följande kodexempel visar hur man dekrypterar en PDF med C++.
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// Ladda ett befintligt PDF-dokument
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\Decrypt.pdf", L"password");
// Dekryptera PDF
doc->Decrypt();
// Spara det uppdaterade dokumentet
doc->Save(L"..\\Data\\SecurityAndSignatures\\Decrypt_out.pdf");
Slutsats
I den här artikeln har du lärt dig hur du krypterar eller dekrypterar PDF-filer med C++. Kodexemplet har också visat hur man ställer in olika privilegier vid kryptering av en PDF-fil. Du kan utforska mer om C++ PDF API med dokumentation.