Категория

C#/VB.NET: Шифровать или расшифровывать PDF-файлы

2023-08-07 03:41:36

Шифрование PDF является важной задачей, когда речь идет об обмене конфиденциальными документами в Интернете. Шифруя PDF-файлы с помощью надежных паролей, вы можете защитить данные файла от несанкционированного доступа. В некоторых случаях также может потребоваться удалить пароль, чтобы сделать документ общедоступным. В этой статье вы узнаете, как программно зашифровать или расшифровать файл PDF используя Spire.PDF for .NET.

Установите Spire.PDF for .NET

Для начала вам нужно добавить файлы DLL, включенные в пакет Spire.PDF for .NET, в качестве ссылок в ваш проект .NET. Файлы DLL можно загрузить по этой ссылке или установить через NuGet.

PM> Install-Package Spire.PDF

Зашифровать файл PDF с помощью пароля

Существует два типа паролей для шифрования файла PDF: открытый пароль и пароль доступа. Первый настроен на открытие файла PDF, а второй — на ограничение печати, копирования содержимого, комментирования и т. д. Если файл PDF защищен обоими типами паролей, его можно открыть любым паролем.

Метод PdfSecurity.Encrypt(string openPassword, string permissionPassword, разрешения PdfPermissionsFlags, PdfEncryptionKeySize keySize), предлагаемый Spire.PDF for .NET, позволяет установить как открытый пароль, так и пароль разрешения для шифрования PDF-файлов. Подробные шаги следующие.

  • Создайте объект PdfDocument.
  • Загрузите образец PDF-файла с помощью метода PdfDocument.LoadFromFile().
  • Получает параметры безопасности документа, используя свойство PdfDocument.Security.
  • Зашифруйте PDF-файл с открытым паролем и паролем разрешения, используя метод PdfSecurity.Encrypt(string openPassword, string permissionPassword, разрешения PdfPermissionsFlags, PdfEncryptionKeySize keySize).
  • Сохраните полученный файл с помощью метода PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Security;
    
    namespace EncryptPDF
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument pdf = new PdfDocument();
    
                //Load a sample PDF file
                pdf.LoadFromFile(@"E:\Files\sample.pdf");
    
                //Encrypt the PDF file with password
                pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit);
    
                //Save the result file
                pdf.SaveToFile("Encrypt.pdf", FileFormat.PDF);
            }
        }
    }

C#/VB.NET: Encrypt or Decrypt PDF Files

Удалить пароль для расшифровки PDF-файла

Если вам нужно удалить пароль из файла PDF, вы можете установить пустой пароль для открытия и пароль разрешения при вызове метода PdfSecurity.Encrypt(string openPassword, string permissionPassword, разрешений PdfPermissionsFlags, PdfEncryptionKeySize keySize, string originalPermissionPassword). Подробные шаги следующие.

  • Создайте объект PdfDocument.
  • Загрузите зашифрованный файл PDF с паролем, используя метод PdfDocument.LoadFromFile (строковое имя файла, строковый пароль).
  • Получает параметры безопасности документа, используя свойство PdfDocument.Security.
  • Расшифруйте PDF-файл, установив пустой пароль для открытия и пароль разрешения с помощью метода PdfSecurity.Encrypt(string openPassword, string permissionPassword, разрешений PdfPermissionsFlags, PdfEncryptionKeySize keySize, string originalPermissionPassword).
  • Сохраните полученный файл с помощью метода PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Security;
    
    namespace DecryptPDF
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument pdf = new PdfDocument();
    
                //Load the encrypted PDF file with password
                pdf.LoadFromFile("Encrypt.pdf", "open");
    
                //Set the password as empty to decrypt PDF
                pdf.Security.Encrypt(string.Empty, string.Empty, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "permission");
    
                //Save the result file
                pdf.SaveToFile("Decrypt.pdf", FileFormat.PDF);
            }
        }
    } 

C#/VB.NET: Encrypt or Decrypt PDF Files

Подать заявку на временную лицензию

Если вы хотите удалить оценочное сообщение из сгенерированных документов или избавиться от функциональных ограничений, пожалуйста запросить 30-дневную пробную лицензию для себя.

Смотрите также