crittografare decrittografare pdf C++

La crittografia PDF è il processo di protezione del documento utilizzando una password e alcuni algoritmi crittografici tra cui AES o RC4. È inoltre possibile impostare privilegi diversi per limitare l’accesso dell’utente a diverse operazioni. Ad esempio, puoi solo consentire la stampa, l’aggiunta di annotazioni, la compilazione di moduli e così via. In questo articolo imparerai come crittografare i file PDF utilizzando C++. Inoltre, questo articolo spiega anche come impostare privilegi diversi e decrittografare file PDF protetti da password utilizzando C++.

API C++ per crittografare o decrittografare file PDF

Aspose.PDF for C++ è un’API C++ nativa che ti consente di creare, leggere e manipolare documenti PDF. Inoltre, consente anche di crittografare i PDF con password e decrittografare i PDF crittografati in poche righe di codice. Puoi scaricare l’API dalla sezione download o installarla utilizzando NuGet.

Crittografa i file PDF utilizzando C++

Di seguito sono riportati i passaggi per crittografare un file PDF utilizzando Aspose.PDF per C++.

L’esempio di codice seguente mostra come crittografare un file PDF utilizzando C++.

For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// Carica un documento PDF esistente
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\input.pdf");

// Way1: utilizzo diretto del privilegio predefinito.
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: Basato su un privilegio predefinito e modifica alcune autorizzazioni specifiche.
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: basato su un privilegio predefinito e modifica alcune combinazioni di autorizzazioni Adobe Professional specifiche.
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: mescola il modo2 e il modo3
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");

Decrittografa i file PDF utilizzando C++

Di seguito sono riportati i passaggi per decrittografare un file PDF utilizzando Aspose.PDF per C++.

L’esempio di codice seguente mostra come decrittografare un PDF usando C++.

For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// Carica un documento PDF esistente
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\Decrypt.pdf", L"password");
// Decrittografa PDF
doc->Decrypt();
// Salva il documento aggiornato
doc->Save(L"..\\Data\\SecurityAndSignatures\\Decrypt_out.pdf");

Conclusione

In questo articolo, hai imparato a crittografare o decrittografare i file PDF utilizzando C++. L’esempio di codice ha anche mostrato come impostare privilegi diversi durante la crittografia di un file PDF. Puoi esplorare di più sull’API PDF C++ utilizzando documentazione.

Guarda anche