zaszyfruj odszyfruj pdf C++

Szyfrowanie PDF to proces ochrony dokumentu za pomocą hasła oraz niektórych algorytmów kryptograficznych, w tym AES lub RC4. Możesz także ustawić różne uprawnienia, aby ograniczyć dostęp użytkownika do różnych operacji. Na przykład możesz zezwolić tylko na drukowanie, dodawanie adnotacji, wypełnianie formularzy itp. W tym artykule dowiesz się, jak szyfrować pliki PDF za pomocą C++. Ponadto w tym artykule omówiono również sposób ustawiania różnych uprawnień i odszyfrowywania plików PDF chronionych hasłem za pomocą języka C++.

C++ API do szyfrowania lub odszyfrowywania plików PDF

Aspose.PDF for C++ to natywny interfejs API C++, który umożliwia tworzenie, odczytywanie i manipulowanie dokumentami PDF. Ponadto umożliwia również szyfrowanie plików PDF za pomocą haseł i odszyfrowywanie zaszyfrowanych plików PDF w ciągu kilku wierszy kodu. Możesz pobrać API z sekcji downloads lub zainstalować je za pomocą NuGet.

Szyfruj pliki PDF za pomocą C++

Poniżej przedstawiono kroki, aby zaszyfrować plik PDF za pomocą Aspose.PDF for C++.

Poniższy przykładowy kod pokazuje, jak zaszyfrować plik PDF przy użyciu języka C++.

For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// Załaduj istniejący dokument PDF
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\input.pdf");

// Sposób 1: Bezpośrednie użycie predefiniowanych uprawnień.
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");

// Sposób 2: W oparciu o predefiniowane uprawnienia i zmianę niektórych określonych uprawnień.
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");

// Sposób 3: Na podstawie predefiniowanych uprawnień i zmiany określonej kombinacji uprawnień 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: Miksuje way2 i 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");

Odszyfruj pliki PDF za pomocą C++

Poniżej przedstawiono kroki, aby odszyfrować plik PDF za pomocą Aspose.PDF for C++.

Poniższy przykładowy kod pokazuje, jak odszyfrować plik PDF przy użyciu języka C++.

For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// Załaduj istniejący dokument PDF
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\Decrypt.pdf", L"password");
// Odszyfruj plik PDF
doc->Decrypt();
// Zapisz zaktualizowany dokument
doc->Save(L"..\\Data\\SecurityAndSignatures\\Decrypt_out.pdf");

Wniosek

W tym artykule nauczyłeś się szyfrować lub odszyfrowywać pliki PDF za pomocą C++. Próbka kodu pokazała również, jak ustawić różne uprawnienia podczas szyfrowania pliku PDF. Możesz dowiedzieć się więcej o interfejsie API C++ PDF, korzystając z dokumentacji.

Zobacz też