Bài viết này cung cấp cho bạn hướng dẫn từng bước và mẫu mã để mã hóa và giải mã tệp PDF theo chương trình trong Java.

mã hóa hoặc giải mã pdf java

Trong nhiều trường hợp, tài liệu PDF được mã hóa trước khi chúng được chia sẻ giữa các bên liên quan. Mã hóa làm cho tài liệu an toàn khỏi bị truy cập trái phép cũng như giả mạo nội dung. Có một số cách phổ biến để bảo mật tài liệu PDF - mã hóa PDF bằng mật khẩu hoặc giới hạn quyền truy cập của người dùng như in, chỉnh sửa, sao chép, v.v. Bài viết này trình bày cách mã hóa hoặc giải mã PDF trong Java. Ngoài ra, bạn sẽ học cách giới hạn đặc quyền của người dùng trong tài liệu PDF.

API Java để mã hóa hoặc giải mã PDF - Tải xuống miễn phí

Aspose.PDF for Java là một API thao tác PDF giàu tính năng cho phép bạn làm việc với mã hóa và giải mã PDF một cách liền mạch. Ngoài ra, nó cho phép bạn sửa đổi các đặc quyền của người dùng trong tài liệu PDF theo chương trình. Bạn có thể tải xuống API miễn phí hoặc cài đặt API bằng các cấu hình Maven sau.

<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>

Mã hóa tệp PDF trong Java

Mã hóa tài liệu PDF yêu cầu bạn đặt mật khẩu sẽ được sử dụng để mở và truy cập tài liệu. Cùng với điều này, bạn có thể chọn một trong các thuật toán mã hóa sau để sử dụng trong quá trình mã hóa.

Sau đây là các bước để mã hóa tệp PDF trong Java.

Mẫu mã sau đây cho biết cách mã hóa tài liệu PDF bằng Java.

// Để biết các ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// mở tài liệu
Document document = new Document("input.pdf");
// mã hóa PDF
document.encrypt("user", "owner", 0, CryptoAlgorithm.AESx256);
// lưu PDF đã cập nhật
document.save("Encrypted_output.pdf");

Hộp thoại sau xuất hiện khi bạn mở tệp PDF được mã hóa.

pdf được mã hóa

Giải mã tệp PDF trong Java

Việc giải mã tài liệu PDF được mã hóa yêu cầu mật khẩu của người dùng hoặc chủ sở hữu. Sau đây là các bước để giải mã tệp PDF trong Java.

  • Tải tệp PDF được mã hóa bằng lớp Document bằng cách chỉ định mật khẩu trong hàm tạo.
  • Gọi phương thức Document.decrypt() để giải mã PDF.
  • Lưu tài liệu PDF đã giải mã bằng phương pháp Document.save(string).

Mẫu mã sau đây cho biết cách giải mã tệp PDF được mã hóa bằng Java.

// Để biết các ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// mở tài liệu
Document document = new Document("input.pdf", "password");
// giải mã PDF
document.decrypt();
// lưu PDF đã cập nhật
document.save("output.pdf");

Thay đổi quyền bảo mật trong PDF bằng Java

Bạn cũng có thể giới hạn quyền truy cập của người dùng để thực hiện các thao tác khác nhau trong khi mã hóa tài liệu PDF. Sau đây là các quyền bạn có thể đặt.

  • In tài liệu – Cho phép in tài liệu.
  • Sửa đổi nội dung – Cho phép sửa đổi nội dung.
  • Trích xuất nội dung – Cho phép sao chép nội dung từ tài liệu.
  • Sửa đổi chú thích văn bản – Cho phép thêm hoặc cập nhật chú thích văn bản.
  • Điền biểu mẫu – Cho phép điền vào các trường biểu mẫu tương tác.
  • Trích xuất nội dung dành cho người khuyết tật – Cho phép trích xuất văn bản và đồ họa (dành cho người dùng khuyết tật).
  • Tập hợp tài liệu – Cho phép chèn, xoay hoặc xóa trang và tạo dấu trang hoặc hình ảnh thu nhỏ.
  • Chất lượng in – Cho phép in tài liệu có độ phân giải cao.

Sau đây là các bước để đặt hoặc sửa đổi quyền trong tài liệu PDF.

  • Tải tệp PDF bằng lớp Document.
  • Sử dụng lớp DocumentPrivilege để đặt quyền.
  • Mã hóa tệp PDF và lưu nó như bạn đã thực hiện trong các ví dụ trước.

Mẫu mã sau đây cho biết cách sửa đổi quyền trong tài liệu PDF bằng Java.

// Để biết các ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập 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();
}

Sau đây là các quyền trong tệp PDF được mã hóa.

pdf được mã hóa

Sự kết luận

Trong bài viết này, bạn đã học cách mã hóa hoặc giải mã các tệp PDF trong Java. Ngoài ra, bạn đã biết cách sửa đổi các đặc quyền của người dùng trong tài liệu PDF bằng lập trình trong Java. Bạn có thể khám phá và tìm hiểu thêm về Java PDF API bằng cách sử dụng tài liệu.

Xem thêm

Thêm và xác minh chữ ký số trong PDF bằng JavaThêm dữ liệu từ cơ sở dữ liệu vào PDF trong C#Thêm hoặc xóa JavaScript vào tệp PDF trong C#
Thêm hoặc xóa JavaScript vào tệp PDF trong JavaThêm hoặc cập nhật siêu liên kết trong PDF bằng C#Thêm hoặc cập nhật siêu liên kết trong PDF bằng Java
Tạo đồ thị và biểu đồ ở dạng PDF trong C#Tạo đồ thị và biểu đồ ở dạng PDF bằng JavaTạo bảng trong tệp PDF bằng C#
Tạo bảng trong tệp PDF bằng JavaTạo tệp PDF được gắn thẻ trong JavaTạo tệp PDF được gắn thẻ trong C#
Tạo hình thu nhỏ cho tệp PDF trong C#Tạo hình thu nhỏ cho tệp PDF trong JavaThay thế hình ảnh trong tệp PDF bằng C#
Thay thế hình ảnh trong tệp PDF bằng JavaXoay văn bản bên trong tài liệu PDF bằng C#Xoay văn bản bên trong PDF bằng Java