ถอดรหัสและถอดรหัส PDF ใน C#

การเข้ารหัส PDF ใช้เพื่อรักษาความปลอดภัยเอกสาร PDF จากการเข้าถึงโดยไม่ได้รับอนุญาต หากเอกสาร PDF ได้รับการเข้ารหัส คุณจะต้องถอดรหัสเอกสารนั้นเพื่อเข้าถึงเนื้อหาของเอกสาร มิฉะนั้น จะไม่สามารถอ่านได้ ส่วนใหญ่แล้ว เอกสาร PDF จะถูกเข้ารหัสด้วยรหัสผ่านที่จำเป็นในการเปิดเอกสาร ในทางกลับกัน คุณยังสามารถจำกัดสิทธิ์การเข้าถึงสำหรับการดำเนินการต่างๆ เช่น การพิมพ์ การแก้ไข การคัดลอก ฯลฯ Aspose’ PDF library, Aspose.PDF for .NET มีวิธีง่ายๆ ในการเข้ารหัสและถอดรหัส ไฟล์ PDF โดยใช้ C# และ VB.NET ในบทความนี้ ฉันจะแสดงวิธีดำเนินการเข้ารหัสและถอดรหัส PDF โดยใช้ C#

C# PDF Encryption and Decryption API - การติดตั้ง

Aspose.PDF for .NET โฮสต์บน NuGet และสามารถติดตั้งได้อย่างง่ายดายโดยใช้ NuGet Package Manager หรือคุณสามารถดาวน์โหลด DLL ของ API ได้จากส่วน ดาวน์โหลด

เข้ารหัสไฟล์ PDF ใน C#

ในการเข้ารหัสไฟล์ PDF คุณต้องตั้งรหัสผ่านที่จำเป็นในการเปิดและดูเอกสาร นอกจากนี้ คุณต้องระบุอัลกอริทึมการเข้ารหัสที่ต้องการเป็นวิธีการเข้ารหัส Aspose.PDF for .NET รองรับวิธีการเข้ารหัสต่อไปนี้:

  • RC4 พร้อมคีย์ 40 บิต
  • RC4 พร้อมคีย์ 128 บิต
  • AES พร้อมคีย์ 128 บิต
  • AES พร้อมคีย์ 256 บิต

ขั้นตอนในการเข้ารหัสไฟล์ PDF

ต่อไปนี้เป็นขั้นตอนง่ายๆ ในการเข้ารหัสเอกสาร PDF โดยใช้ C#

  • โหลดเอกสาร PDF โดยใช้คลาส Document
  • เข้ารหัสเอกสาร PDF ด้วยรหัสผ่านและอัลกอริทึมการเข้ารหัสโดยใช้เมธอด Document.Encrypt
  • บันทึกเอกสาร PDF ที่เข้ารหัสโดยใช้วิธี Document.Save

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเข้ารหัสเอกสาร PDF โดยใช้ C#

// เปิดเอกสาร
Document document = new Document("Encrypt.pdf");
// เข้ารหัส PDF  
document.Encrypt("user_password", "owner_password", 0 /*permissions*/, CryptoAlgorithm.RC4x128);
// บันทึก PDF ที่อัปเดต
document.Save("Encrypted PDF.pdf");

เมื่อคุณจะเปิดเอกสาร PDF ที่เข้ารหัสนี้ใน Adobe Reader มันจะเปิดหน้าต่างโต้ตอบต่อไปนี้ขึ้นมา

เอกสาร PDF ที่เข้ารหัส

ถอดรหัสไฟล์ PDF โดยใช้ C#

ในการถอดรหัสเอกสาร PDF คุณต้องมีรหัสผ่านผู้ใช้หรือเจ้าของเอกสาร ต่อไปนี้เป็นขั้นตอนง่ายๆ ในการถอดรหัสเอกสาร PDF:

  • โหลดเอกสาร PDF โดยใช้คลาส Document โดยระบุรหัสผ่านของผู้ใช้หรือเจ้าของ
  • เรียกใช้เมธอด Document.Decrypt()
  • บันทึกเอกสาร PDF ที่ถอดรหัสแล้ว

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีถอดรหัสเอกสาร PDF โดยใช้ C#

// เปิดเอกสารโดยระบุรหัสผ่านของผู้ใช้หรือเจ้าของ
Document document = new Document("Encrypted PDF.pdf", "user_password");
// ถอดรหัส PDF  
document.Decrypt();
// บันทึก PDF ที่อัปเดต
document.Save("Decrypted PDF.pdf");

เปลี่ยนสิทธิ์การรักษาความปลอดภัยของไฟล์ PDF ใน C#

คุณสามารถปรับปรุงความปลอดภัยของเอกสาร PDF ได้โดยการจำกัดสิทธิ์ของผู้ใช้ ในกรณีเช่นนี้ คุณสามารถระบุการดำเนินการที่อนุญาตสำหรับผู้ใช้ ต่อไปนี้คือรายการสิทธิ์ที่คุณสามารถตั้งค่าให้อนุญาตสำหรับผู้ใช้

  • พิมพ์เอกสาร - อนุญาตให้พิมพ์เอกสาร
  • แก้ไขเนื้อหา - อนุญาตให้แก้ไขเนื้อหาของเอกสาร
  • แยกเนื้อหา - อนุญาตให้คัดลอกเนื้อหาจากเอกสาร
  • แก้ไขคำอธิบายประกอบข้อความ - อนุญาตให้เพิ่มหรือแก้ไขคำอธิบายประกอบข้อความ
  • กรอกแบบฟอร์ม - อนุญาตให้กรอกข้อมูลในช่องแบบฟอร์มโต้ตอบ
  • แยกเนื้อหาที่มีความพิการ - อนุญาตให้แยกข้อความและกราฟิก (สำหรับผู้ใช้ที่มีความพิการ)
  • ประกอบเอกสาร - อนุญาตให้แทรก หมุน หรือลบหน้า และสร้างบุ๊กมาร์กหรือภาพขนาดย่อ
  • คุณภาพการพิมพ์ - อนุญาตให้พิมพ์เอกสารที่มีความละเอียดสูง

ขั้นตอนในการเปลี่ยนสิทธิ์การรักษาความปลอดภัยของไฟล์ PDF

ต่อไปนี้เป็นขั้นตอนในการเปลี่ยนสิทธิ์การรักษาความปลอดภัยของเอกสาร PDF

  • โหลดเอกสาร PDF
  • ตั้งค่าการอนุญาตด้านความปลอดภัยโดยใช้เมธอด Document.Encrypt
  • บันทึกเอกสาร PDF ที่เข้ารหัส

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเปลี่ยนสิทธิ์ของเอกสาร PDF โดยใช้ C#

// เปิดเอกสาร
Document document = new Document("Encrypt.pdf");
// เข้ารหัส PDF ด้วยการอนุญาตการพิมพ์
document.Encrypt("user_password", "owner_password", Permissions.PrintDocument | Permissions.PrintingQuality, CryptoAlgorithm.RC4x128);
// บันทึก PDF ที่อัปเดต
document.Save("Encrypted PDF.pdf");

อีกวิธีในการตั้งค่าหรือแก้ไขสิทธิ์ของเอกสาร PDF คือการใช้คลาส DocumentPrivilege คลาส DocumentPrivilege ให้คุณกำหนดการอนุญาตหรือสิทธิพิเศษสำหรับผู้ใช้ ตัวอย่างโค้ดต่อไปนี้แสดงวิธีตั้งค่าสิทธิ์การรักษาความปลอดภัยของเอกสาร PDF โดยใช้คลาส DocumentPrivilege ใน C#

// เปิดเอกสาร
Document document = new Document("Encrypt.pdf");
// ใช้ข้อ จำกัด ในสิทธิพิเศษทั้งหมด
DocumentPrivilege privileges = DocumentPrivilege.ForbidAll;
// อนุญาตสิทธิ์ที่ต้องการ
privileges.AllowScreenReaders = true;
privileges.AllowPrint = true;
// เข้ารหัส PDF
document.Encrypt("user_password", "owner_password", privileges, CryptoAlgorithm.RC4x128, false);
// บันทึก PDF ที่อัปเดต
document.Save("Encrypted PDF.pdf");

ต่อไปนี้คือรายละเอียดการรักษาความปลอดภัยของเอกสาร PDF ที่เราเข้ารหัสไว้ในส่วนนี้

เปลี่ยนสิทธิ์การรักษาความปลอดภัยของ PDF

บทสรุป

ในบทความนี้ คุณได้ทำตามขั้นตอนการเข้ารหัสและถอดรหัสเอกสาร PDF โดยใช้ C# นอกจากนี้ คุณยังได้เรียนรู้วิธีตั้งค่าหรือแก้ไขสิทธิ์การรักษาความปลอดภัยของเอกสาร PDF ใน C# คุณลักษณะด้านความปลอดภัยเหล่านี้ช่วยให้คุณสามารถปกป้องเอกสาร PDF ที่ละเอียดอ่อนได้โดยใช้รหัสผ่านและอัลกอริธึมการเข้ารหัส ตลอดจนจำกัดการเข้าถึงของผู้ใช้ในการดำเนินการที่เกี่ยวข้องกับเอกสาร คุณสามารถดู เอกสารประกอบ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับไลบรารี .NET PDF ของเรา

ดูสิ่งนี้ด้วย