이 기사에서는 Java에서 프로그래밍 방식으로 PDF 파일을 암호화하고 해독하기 위한 단계별 가이드와 코드 샘플을 제공합니다.
다양한 경우에 PDF 문서는 이해 관계자 간에 공유되기 전에 암호화됩니다. 암호화를 통해 문서를 무단 액세스 및 콘텐츠 변조로부터 안전하게 보호합니다. PDF 문서를 보호하는 일반적인 방법에는 두 가지가 있습니다. 암호로 PDF를 암호화하거나 인쇄, 편집, 복사 등과 같은 사용자의 액세스 권한을 제한하는 것입니다. 이 기사에서는 Java에서 PDF를 암호화하거나 해독하는 방법을 보여줍니다. 또한 PDF 문서에서 사용자의 권한을 제한하는 방법을 배웁니다.
PDF 암호화 또는 해독을 위한 Java API - 무료 다운로드
Java용 Aspose.PDF는 PDF 암호화 및 암호 해독 작업을 원활하게 수행할 수 있는 기능이 풍부한 PDF 조작 API입니다. 또한 PDF 문서에서 사용자의 권한을 프로그래밍 방식으로 수정할 수 있습니다. API를 무료로 다운로드하거나 다음 Maven 구성을 사용하여 API를 설치할 수 있습니다.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>20.9</version>
<classifier>jdk17</classifier>
</dependency>
Java에서 PDF 파일 암호화
PDF 문서를 암호화하려면 문서를 열고 액세스하는 데 사용할 암호를 설정해야 합니다. 이와 함께 암호화에 사용할 다음 암호화 알고리즘 중 하나를 선택할 수 있습니다.
다음은 Java에서 PDF 파일을 암호화하는 단계입니다.
- Document 클래스를 사용하여 PDF 문서를 로드합니다.
- Document.encrypt(“user\password”, “owner\password”, 0, CryptoAlgorithm) 메서드를 사용하여 PDF를 암호화합니다.
- Document.save(string) 메서드를 사용하여 암호화된 PDF를 저장합니다.
다음 코드 샘플은 Java를 사용하여 PDF 문서를 암호화하는 방법을 보여줍니다.
// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-pdf/Aspose.Pdf-for-Java로 이동하십시오.
// 문서 열기
Document document = new Document("input.pdf");
// PDF 암호화
document.encrypt("user", "owner", 0, CryptoAlgorithm.AESx256);
// 업데이트된 PDF 저장
document.save("Encrypted_output.pdf");
암호화된 PDF를 열면 다음 대화 상자가 나타납니다.
Java에서 PDF 파일 암호 해독
암호화된 PDF 문서의 암호를 해독하려면 사용자 또는 소유자의 암호가 필요합니다. 다음은 Java에서 PDF 파일을 해독하는 단계입니다.
- 생성자에서 암호를 지정하여 Document 클래스를 사용하여 암호화된 PDF를 로드합니다.
- Document.decrypt() 메서드를 호출하여 PDF를 해독합니다.
- Document.save(string) 메서드를 사용하여 해독된 PDF 문서를 저장합니다.
다음 코드 샘플은 Java를 사용하여 암호화된 PDF를 해독하는 방법을 보여줍니다.
// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-pdf/Aspose.Pdf-for-Java로 이동하십시오.
// 문서 열기
Document document = new Document("input.pdf", "password");
// PDF 해독
document.decrypt();
// 업데이트된 PDF 저장
document.save("output.pdf");
Java를 사용하여 PDF의 보안 권한 변경
PDF 문서를 암호화하는 동안 다른 작업을 수행하도록 사용자의 액세스를 제한할 수도 있습니다. 다음은 설정할 수 있는 권한입니다.
- 문서 인쇄 – 문서를 인쇄할 수 있습니다.
- 콘텐츠 수정 – 콘텐츠를 수정할 수 있습니다.
- 콘텐츠 추출 – 문서에서 콘텐츠를 복사할 수 있습니다.
- 텍스트 주석 수정 – 텍스트 주석을 추가하거나 업데이트할 수 있습니다.
- 양식 채우기 – 대화식 양식 필드를 채울 수 있습니다.
- 장애가 있는 콘텐츠 추출 – 텍스트 및 그래픽 추출을 허용합니다(장애가 있는 사용자용).
- 문서 조합 – 페이지를 삽입, 회전 또는 삭제하고 책갈피 또는 축소판 이미지를 생성할 수 있습니다.
- 인쇄 품질 - 문서를 고해상도로 인쇄할 수 있습니다.
다음은 PDF 문서에서 권한을 설정하거나 수정하는 단계입니다.
- Document 클래스를 사용하여 PDF를 로드합니다.
- DocumentPrivilege 클래스를 사용하여 권한을 설정합니다.
- PDF를 암호화하고 이전 예에서와 같이 저장합니다.
다음 코드 샘플은 Java를 사용하여 PDF 문서에서 권한을 수정하는 방법을 보여줍니다.
// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-pdf/Aspose.Pdf-for-Java로 이동하십시오.
Document document = new Document("inputFile.pdf");
try /* JAVA: was using */
{
DocumentPrivilege documentPrivilege = DocumentPrivilege.getForbidAll();
documentPrivilege.setAllowScreenReaders(true);
documentPrivilege.setAllowPrint(true);
document.encrypt("user", "owner", documentPrivilege, CryptoAlgorithm.AESx128, false);
document.save("outputFile.pdf");
} finally {
if (document != null)
document.dispose();
}
다음은 암호화된 PDF 파일에 대한 권한입니다.
결론
이 기사에서는 Java에서 PDF 파일을 암호화하거나 해독하는 방법을 배웠습니다. 또한 Java에서 프로그래밍 방식으로 PDF 문서의 사용자 권한을 수정하는 방법을 살펴보았습니다. 문서를 사용하여 Java PDF API를 탐색하고 자세히 알아볼 수 있습니다.