암호화 해독 PDF C++

PDF 암호화는 AES 또는 RC4를 비롯한 일부 암호화 알고리즘과 암호를 사용하여 문서를 보호하는 프로세스입니다. 다른 작업에 대한 사용자의 액세스를 제한하기 위해 다른 권한을 설정할 수도 있습니다. 예를 들어 인쇄, 주석 추가, 양식 채우기 등만 허용할 수 있습니다. 이 기사에서는 C++를 사용하여 PDF 파일을 암호화하는 방법을 배웁니다. 또한 이 문서에서는 C++를 사용하여 다른 권한을 설정하고 암호로 보호된 PDF 파일의 암호를 해독하는 방법도 다룹니다.

PDF 파일을 암호화하거나 해독하는 C++ API

Aspose.PDF for C++는 PDF 문서를 만들고, 읽고, 조작할 수 있는 기본 C++ API입니다. 또한 암호로 PDF를 암호화하고 몇 줄의 코드 내에서 암호화된 PDF를 해독할 수도 있습니다. 다운로드 섹션에서 API를 다운로드하거나 NuGet을 사용하여 설치할 수 있습니다.

C++를 사용하여 PDF 파일 암호화

다음은 C++용 Aspose.PDF를 사용하여 PDF 파일을 암호화하는 단계입니다.

다음 코드 샘플은 C++를 사용하여 PDF 파일을 암호화하는 방법을 보여줍니다.

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

// Way1: 미리 정의된 권한을 직접 사용합니다.
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: 미리 정의된 권한을 기반으로 일부 특정 권한을 변경합니다.
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: 사전 정의된 권한을 기반으로 특정 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: way2와 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");

C++를 사용하여 PDF 파일 암호 해독

다음은 C++용 Aspose.PDF를 사용하여 PDF 파일을 해독하는 단계입니다.

  • Document 클래스를 사용하여 PDF 파일을 로드하고 문서의 경로와 암호를 제공합니다.
  • Document->Decrypt() 메서드를 사용하여 파일을 복호화합니다.
  • Document->Save(String) 메서드를 사용하여 해독된 PDF를 저장합니다.

다음 코드 샘플은 C++를 사용하여 PDF를 해독하는 방법을 보여줍니다.

For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// 기존 PDF 문서 로드
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\Decrypt.pdf", L"password");
// PDF 해독
doc->Decrypt();
// 업데이트된 문서 저장
doc->Save(L"..\\Data\\SecurityAndSignatures\\Decrypt_out.pdf");

결론

이 기사에서는 C++를 사용하여 PDF 파일을 암호화하거나 해독하는 방법을 배웠습니다. 코드 샘플은 PDF 파일을 암호화할 때 다른 권한을 설정하는 방법도 보여주었습니다. 문서를 사용하여 C++ PDF API에 대해 자세히 알아볼 수 있습니다.

또한보십시오