kryptera dekryptera pdf C++

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

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++.

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++.

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.

Se även