Как использовать C#/VB.NET для цифровой подписи PDF
Цифровая подпись является технологией, используемой для проверки целостности и подлинности документа или данных. В современном цифровом мире цифровая подпись стала важным средством защиты данных. Для PDF-документов электронная подпись может обеспечить целостность и подлинность документа, предотвращая его изменение и подделку. В этой статье будет описано, как использовать Free Spire.PDF for .NET для цифровой подписи PDF.
Установка Free Spire.PDF for .NET
Free Spire.PDF for .NET — это профессиональный бесплатный компонент для работы с PDF, который предоставляет обширный набор функций для работы с PDF, включая цифровую подпись. Установка Free Spire.PDF для .NET через NuGet очень проста: откройте менеджер пакетов NuGet в Visual Studio, найдите и установите FreeSpire.PDF.
Примечание: в бесплатной версии можно загружать или создавать PDF-документы размером не более 10 страниц. Если вам нужно обработать документы размером более 10 страниц, вы можете найти и установить Spire.PDF на NuGet (бизнес-версия без ограничений по количеству страниц).
Добавление цифровой подписи в PDF
Ниже приведены шаги для добавления невидимой подписи в PDF-документ с помощью Free Spire.PDF for .NET:
1. Создайте объект PdfDocument и загрузите существующий PDF-файл с диска с помощью метода LoadFromFile.
2. Загрузите цифровой сертификат из файла .pfx, используя конструктор класса PdfCertificate.
3. Создайте новый объект PdfSignature, используя загруженный PdfDocument, последнюю страницу документа (doc.Pages[doc.Pages.Count — 1]), загруженный PdfCertificate и строковый идентификатор для подписи.
4. Установите флаги разрешений для документа, которые запрещают любые изменения, но позволяют заполнение форм.
5. Сохраните измененный PDF-документ в новый файл, используя метод SaveToFile.
[C#]
using Spire.Pdf;
using Spire.Pdf.Security;
namespace AddInvisibleSignature
{
class Program
{
static void Main(string[] args)
{
// Создание объекта PdfDocument
PdfDocument doc = new PdfDocument();
// Загрузка образца PDF-файла
doc.LoadFromFile("C:\Users\Administrator\Desktop\sample.pdf");
// Загрузка сертификата
PdfCertificate cert = new PdfCertificate("C:\Users\Administrator\Desktop\MyCertificate.pfx«, «e-iceblue»);
// Создание объекта PdfSignature
PdfSignature signature = new PdfSignature(doc, doc.Pages[doc.Pages.Count — 1], cert, «MySignature»);
//Установка разрешений для документа на запрет изменений, но разрешение заполнения формы
signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges | PdfCertificationFlags.AllowFormFill;
// Сохранение в другой PDF-файл
doc.SaveToFile("InvisibleSignature.pdf");
doc.Close();
}
}
}
[VB.NET]
Imports Spire.Pdf
Imports Spire.Pdf.Security
Namespace AddInvisibleSignature
Class Program
Shared Sub Main(ByVal args() As String)
’ Создание объекта PdfDocument
Dim doc As PdfDocument = New PdfDocument()
’ Загрузка образца PDF-файла
doc.LoadFromFile("C:\Users\Administrator\Desktop\sample.pdf")
’ Загрузка сертификата
Dim cert As PdfCertificate = New PdfCertificate("C:\Users\Administrator\Desktop\MyCertificate.pfx","e-iceblue")
’ Создание объекта PdfSignature
Dim signature As PdfSignature = New PdfSignature(doc,doc.Pages(doc.Pages.Count — 1),cert,"MySignature")
’ Установка разрешений для документа на запрет изменений, но разрешение заполнения формы
signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges | PdfCertificationFlags.AllowFormFill
’ Сохранение в другой PDF-файл
doc.SaveToFile("InvisibleSignature.pdf")
doc.Close()
End Sub
End Class
End Namespace
См. также
Кроме цифровой подписи, Free Spire.PDF for .NET также предоставляет множество других функций работы с PDF, включая:
Шифрование PDF-документа на C#/VB.NET
Создание PDF-документов на C#/VB.NET
Преобразование PDF в другие форматы на C#/VB.NET
Печать PDF-документов на C#/VB.NET