رمزگشایی و رمزگشایی PDF در سی شارپ

رمزگذاری PDF برای محافظت از سند PDF از دسترسی غیرمجاز استفاده می شود. اگر یک سند PDF رمزگذاری شده است، برای دسترسی به محتوای آن باید آن را رمزگشایی کنید، در غیر این صورت، غیرقابل خواندن باقی می ماند. اغلب، اسناد PDF با رمز عبوری رمزگذاری می شوند که برای باز کردن سند مورد نیاز است. از طرف دیگر، شما همچنین می توانید مجوزهای دسترسی را به عملیات های مختلفی مانند چاپ، ویرایش، کپی و غیره محدود کنید. فایل های PDF با استفاده از C# و VB.NET. در این مقاله، نحوه انجام عملیات رمزگذاری و رمزگشایی PDF با استفاده از سی شارپ را به شما نشان خواهم داد.

C# PDF Encryption and Decryption API - نصب

Aspose.PDF برای دات نت در NuGet میزبانی می شود و می توان آن را به راحتی با استفاده از NuGet Package Manager نصب کرد. همچنین، می‌توانید DLL API را از بخش Downloads دانلود کنید.

رمزگذاری فایل های PDF در سی شارپ

برای رمزگذاری یک فایل PDF، باید رمز عبوری تعیین کنید که برای باز کردن و مشاهده سند مورد نیاز است. علاوه بر این، باید الگوریتم رمزنگاری مورد نظر را به عنوان روش رمزگذاری مشخص کنید. Aspose.PDF برای دات نت از روش های رمزگذاری زیر پشتیبانی می کند:

  • RC4 با یک کلید 40 بیتی.
  • RC4 با یک کلید 128 بیتی.
  • AES با کلید 128 بیتی.
  • AES با یک کلید 256 بیتی.

مراحل رمزگذاری یک فایل PDF

در زیر مراحل ساده رمزگذاری یک سند PDF با استفاده از سی شارپ آمده است.

  • سند PDF را با استفاده از کلاس Document بارگیری کنید.
  • با استفاده از روش Document.Encrypt سند PDF را با رمز عبور و الگوریتم رمزنگاری رمزگذاری کنید.
  • سند 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 با استفاده از سی شارپ

برای رمزگشایی یک سند 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 در سی شارپ

می توانید با محدود کردن مجوز کاربر، امنیت یک سند PDF را افزایش دهید. در چنین حالتی می توانید عملیاتی را که برای کاربران مجاز است مشخص کنید. در زیر لیستی از مجوزهایی است که می توانید برای اجازه دادن به یک کاربر تنظیم کنید.

  • چاپ سند - به چاپ سند اجازه می دهد.
  • Modify Content - اجازه می دهد تا محتوای سند را تغییر دهید.
  • Extract Content - به کپی کردن محتوا از سند اجازه می دهد.
  • Modify Text Annotations - اضافه کردن یا اصلاح حاشیه نویسی متن را امکان پذیر می کند.
  • پر کردن فرم - اجازه می دهد تا فیلدهای فرم تعاملی را پر کنید.
  • Extract Content with Disabilities - امکان استخراج متن و گرافیک (برای کاربران دارای معلولیت) را فراهم می کند.
  • Assemble Document - به درج، چرخاندن یا حذف صفحات و ایجاد نشانک یا تصاویر کوچک اجازه می دهد.
  • کیفیت چاپ - به چاپ اسناد با وضوح بالا اجازه می دهد.

مراحل تغییر مجوزهای امنیتی یک فایل 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 با استفاده از سی شارپ را طی کرده اید. علاوه بر این، شما همچنین یاد گرفته‌اید که چگونه مجوزهای امنیتی یک سند PDF را در C# تنظیم یا تغییر دهید. این ویژگی های امنیتی به شما امکان می دهد از اسناد حساس PDF با استفاده از رمز عبور و الگوریتم های رمزنگاری محافظت کنید و همچنین دسترسی کاربر به عملیات مربوط به سند را محدود کنید. برای کسب اطلاعات بیشتر در مورد کتابخانه PDF دات نت ما، می توانید به اسناد مراجعه کنید.

همچنین ببینید