บทความนี้ให้คำแนะนำทีละขั้นตอนและตัวอย่างโค้ดเพื่อเข้ารหัสและถอดรหัสไฟล์ PDF โดยทางโปรแกรมใน Java
ในหลายกรณี เอกสาร PDF จะถูกเข้ารหัสก่อนที่จะแชร์ระหว่างผู้มีส่วนได้ส่วนเสีย การเข้ารหัสทำให้เอกสารปลอดภัยจากการเข้าถึงโดยไม่ได้รับอนุญาตและการดัดแปลงเนื้อหา มีสองวิธียอดนิยมในการรักษาความปลอดภัยเอกสาร PDF - เข้ารหัส PDF ด้วยรหัสผ่านหรือจำกัดสิทธิ์การเข้าถึงของผู้ใช้ เช่น การพิมพ์ แก้ไข คัดลอก ฯลฯ บทความนี้จะสาธิตวิธีเข้ารหัสหรือถอดรหัส PDF ใน Java นอกจากนี้ คุณจะได้เรียนรู้วิธีจำกัดสิทธิ์ของผู้ใช้ในเอกสาร PDF
- Java API เพื่อเข้ารหัสหรือถอดรหัส PDF
- เข้ารหัสไฟล์ PDF โดยใช้ Java
- ถอดรหัสไฟล์ PDF โดยใช้ Java
- เปลี่ยนสิทธิ์การรักษาความปลอดภัยใน PDF โดยใช้ Java
Java API เพื่อเข้ารหัสหรือถอดรหัส PDF - ดาวน์โหลดฟรี
Aspose.PDF for Java คือ API การจัดการ PDF ที่มีคุณลักษณะหลากหลายซึ่งช่วยให้คุณทำงานกับการเข้ารหัสและถอดรหัส PDF ได้อย่างราบรื่น นอกจากนี้ยังให้คุณแก้ไขสิทธิ์ของผู้ใช้ในเอกสาร PDF โดยทางโปรแกรม คุณสามารถ ดาวน์โหลด API ได้ฟรีหรือติดตั้งโดยใช้การกำหนดค่า Maven ต่อไปนี้
<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>
เข้ารหัสไฟล์ PDF ใน Java
การเข้ารหัสเอกสาร PDF กำหนดให้คุณต้องตั้งรหัสผ่านที่จะใช้เปิดและเข้าถึงเอกสาร คุณสามารถเลือกหนึ่งในอัลกอริทึมการเข้ารหัสต่อไปนี้เพื่อใช้ในการเข้ารหัส
ต่อไปนี้เป็นขั้นตอนในการเข้ารหัสไฟล์ PDF ใน Java
- โหลดเอกสาร PDF โดยใช้คลาส Document
- เข้ารหัส PDF โดยใช้วิธี Document.encrypt(“userpassword”, “ownerpassword”, 0, CryptoAlgorithm)
- บันทึก PDF ที่เข้ารหัสโดยใช้เมธอด Document.save(string)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเข้ารหัสเอกสาร PDF โดยใช้ Java
// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ 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 ที่เข้ารหัส
ถอดรหัสไฟล์ PDF ใน Java
การถอดรหัสเอกสาร PDF ที่เข้ารหัสต้องใช้รหัสผ่านของผู้ใช้หรือเจ้าของ ต่อไปนี้เป็นขั้นตอนในการถอดรหัสไฟล์ PDF ใน Java
- โหลด PDF ที่เข้ารหัสโดยใช้คลาส Document โดยระบุรหัสผ่านในตัวสร้าง
- เรียกใช้เมธอด Document.decrypt() เพื่อถอดรหัส PDF
- บันทึกเอกสาร PDF ที่ถอดรหัสโดยใช้เมธอด Document.save(string)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีถอดรหัส PDF ที่เข้ารหัสโดยใช้ Java
// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// เปิดเอกสาร
Document document = new Document("input.pdf", "password");
// ถอดรหัส PDF
document.decrypt();
// บันทึก PDF ที่อัปเดตแล้ว
document.save("output.pdf");
เปลี่ยนสิทธิ์การรักษาความปลอดภัยใน PDF โดยใช้ Java
คุณยังสามารถจำกัดการเข้าถึงของผู้ใช้เพื่อดำเนินการต่าง ๆ ในขณะที่เข้ารหัสเอกสาร PDF ต่อไปนี้เป็นสิทธิ์ที่คุณสามารถตั้งค่าได้
- พิมพ์เอกสาร – อนุญาตให้พิมพ์เอกสาร
- แก้ไขเนื้อหา – อนุญาตให้แก้ไขเนื้อหา
- แยกเนื้อหา – อนุญาตให้คัดลอกเนื้อหาจากเอกสาร
- แก้ไขคำอธิบายประกอบข้อความ – อนุญาตให้เพิ่มหรืออัปเดตคำอธิบายประกอบข้อความ
- กรอกแบบฟอร์ม – อนุญาตให้กรอกข้อมูลในช่องแบบฟอร์มโต้ตอบ
- แยกเนื้อหาที่มีความพิการ – อนุญาตให้แยกข้อความและกราฟิก (สำหรับผู้ใช้ที่มีความพิการ)
- ประกอบเอกสาร – อนุญาตให้แทรก หมุน หรือลบหน้า และสร้างบุ๊กมาร์กหรือภาพขนาดย่อ
- คุณภาพการพิมพ์ – อนุญาตให้พิมพ์เอกสารที่มีความละเอียดสูง
ต่อไปนี้เป็นขั้นตอนในการตั้งค่าหรือแก้ไขสิทธิ์ในเอกสาร PDF
- โหลด PDF โดยใช้คลาส Document
- ใช้คลาส DocumentPrivilege เพื่อตั้งค่าการอนุญาต
- เข้ารหัส PDF และบันทึกตามที่คุณได้ทำในตัวอย่างก่อนหน้านี้
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแก้ไขสิทธิ์ในเอกสาร PDF โดยใช้ Java
// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ 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 ที่เข้ารหัส
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีเข้ารหัสหรือถอดรหัสไฟล์ PDF ใน Java นอกจากนี้ คุณได้เห็นวิธีแก้ไขสิทธิ์ของผู้ใช้ในเอกสาร PDF โดยทางโปรแกรมใน Java คุณสามารถสำรวจและเรียนรู้เพิ่มเติมเกี่ยวกับ Java PDF API โดยใช้ เอกสารประกอบ