pdf'yi şifrele şifresini çöz C++

PDF şifreleme, belgeyi bir parola ve AES veya RC4 gibi bazı kriptografik algoritmalar kullanarak koruma işlemidir. Kullanıcının farklı işlemlere erişimini sınırlamak için farklı ayrıcalıklar da ayarlayabilirsiniz. Örneğin, yalnızca yazdırmaya, açıklama eklemeye, formları doldurmaya vb. izin verebilirsiniz. Bu makalede, PDF dosyalarını C++ kullanarak nasıl şifreleyeceğinizi öğreneceksiniz. Ayrıca bu makale, C++ kullanarak farklı ayrıcalıkların nasıl ayarlanacağını ve parola korumalı PDF dosyalarının şifresinin nasıl çözüleceğini de kapsar.

PDF Dosyalarını Şifrelemek veya Şifresini Çözmek için C++ API

Aspose.PDF for C++, PDF belgeleri oluşturmanıza, okumanıza ve değiştirmenize izin veren yerel bir C++ API’sidir. Ayrıca, PDF’leri parolalarla şifrelemenize ve şifrelenmiş PDF’lerin şifresini birkaç satır kodla çözmenize de olanak tanır. API’yi indirilenler bölümünden indirebilir veya NuGet kullanarak kurulumunu sağlayabilirsiniz.

C++ kullanarak PDF Dosyalarını Şifreleyin

Aspose.PDF for C++ kullanarak bir PDF dosyasını şifreleme adımları aşağıdadır.

Aşağıdaki kod örneği, C++ kullanarak bir PDF dosyasının nasıl şifreleneceğini gösterir.

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

// Way1: Önceden tanımlanmış ayrıcalığı doğrudan kullanma.
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: Önceden tanımlanmış bir ayrıcalığa dayalıdır ve bazı özel izinleri değiştirir.
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: Önceden tanımlanmış bir ayrıcalığa dayalıdır ve bazı özel Adobe Professional izin kombinasyonlarını değiştirir.
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: Way2 ve Way3'ü karıştırır
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");

C++ kullanarak PDF Dosyalarının Şifresini Çözün

Aspose.PDF for C++ kullanarak bir PDF dosyasının şifresini çözme adımları aşağıdadır.

  • Belge sınıfını kullanarak PDF dosyasını yükleyin ve belgenin yolunu ve parolasını sağlayın.
  • Document->Decrypt() yöntemini kullanarak dosyanın şifresini çözün.
  • Şifresi çözülmüş PDF’yi Belge->Kaydet(Dize) yöntemini kullanarak kaydedin.

Aşağıdaki kod örneği, C++ kullanarak bir PDF’nin şifresinin nasıl çözüleceğini gösterir.

For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// Mevcut bir PDF belgesini yükleyin
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\Decrypt.pdf", L"password");
// PDF'nin şifresini çöz
doc->Decrypt();
// Güncellenen belgeyi kaydedin
doc->Save(L"..\\Data\\SecurityAndSignatures\\Decrypt_out.pdf");

Çözüm

Bu makalede, C++ kullanarak PDF dosyalarını nasıl şifreleyeceğinizi veya şifrelerini çözeceğinizi öğrendiniz. Kod örneği, bir PDF dosyasını şifrelerken farklı ayrıcalıkların nasıl ayarlanacağını da göstermiştir. Belgeleri kullanarak C++ PDF API hakkında daha fazlasını keşfedebilirsiniz.

Ayrıca bakınız