Šifrování PDF je proces ochrany dokumentu pomocí hesla a některých kryptografických algoritmů včetně AES nebo RC4. Můžete také nastavit různá oprávnění, abyste omezili přístup uživatele k různým operacím. Můžete například povolit pouze tisk, přidávání anotací, vyplňování formulářů atd. V tomto článku se dozvíte, jak šifrovat soubory PDF pomocí C++. Kromě toho tento článek také popisuje, jak nastavit různá oprávnění a dešifrovat soubory PDF chráněné heslem pomocí C++.
- C++ API pro šifrování nebo dešifrování souborů PDF
- Šifrujte soubory PDF pomocí C++
- Dešifrování souborů PDF pomocí C++
C++ API pro šifrování nebo dešifrování souborů PDF
Aspose.PDF for C++ je nativní C++ API, které umožňuje vytvářet, číst a manipulovat s dokumenty PDF. Kromě toho vám také umožňuje šifrovat soubory PDF pomocí hesel a dešifrovat šifrované soubory PDF během několika řádků kódu. API si můžete stáhnout ze sekce ke stažení nebo si jej nainstalovat pomocí NuGet.
Šifrujte soubory PDF pomocí C++
Níže jsou uvedeny kroky k zašifrování souboru PDF pomocí Aspose.PDF for C++.
- Načtěte dokument PDF pomocí třídy Document.
- Použijte třídu DocumentPrivilege k nastavení různých oprávnění, jako je povolení tisku, povolení úpravy obsahu atd.
- Zavolejte Document.Encrypt(String, String, SharedPtr , CryptoAlgorithm, bool) metoda k šifrování PDF.
- Uložte PDF pomocí metody Document->Save(String).
Následující ukázka kódu ukazuje, jak zašifrovat soubor PDF pomocí C++.
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// Načtěte existující dokument PDF
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\input.pdf");
// Způsob 1: Přímé použití předdefinovaných oprávnění.
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");
// Způsob 2: Na základě předdefinovaného oprávnění a změnit některá specifická oprávnění.
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");
// Způsob 3: Na základě předdefinovaných oprávnění a změn některých konkrétních kombinací oprávnění 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: Míchá cestu 2 a cestu 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");
Dešifrování souborů PDF pomocí C++
Níže jsou uvedeny kroky k dešifrování souboru PDF pomocí Aspose.PDF for C++.
- Načtěte soubor PDF pomocí třídy Document a zadejte cestu k dokumentu a heslo.
- Dešifrujte soubor pomocí metody Document->Decrypt().
- Uložte dešifrované PDF pomocí metody Document->Save(String).
Následující ukázka kódu ukazuje, jak dešifrovat PDF pomocí C++.
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// Načtěte existující dokument PDF
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\Decrypt.pdf", L"password");
// Dešifrovat PDF
doc->Decrypt();
// Uložte aktualizovaný dokument
doc->Save(L"..\\Data\\SecurityAndSignatures\\Decrypt_out.pdf");
Závěr
V tomto článku jste se naučili šifrovat nebo dešifrovat soubory PDF pomocí C++. Ukázka kódu také ukázala, jak nastavit různá oprávnění při šifrování souboru PDF. Více o C++ PDF API můžete prozkoumat pomocí dokumentace.