Подпишите PDF с помощью подписей полей формы с помощью С#

Поля формы — это различные типы полей данных, которые используются для сбора информации от пользователей. Как разработчик C#, вы можете легко создавать PDF-документы, которые пользователи будут заполнять и подписывать в электронном виде. Это может быть полезно для сбора отзывов клиентов, согласия партнеров и т. д. В этой статье вы узнаете, как подписывать электронные документы PDF с помощью подписей полей формы с помощью C#.

В этой статье обсуждаются/рассматриваются следующие темы:

C# API для подписи PDF-документов

Я буду использовать GroupDocs.Signature for .NET API для подписи документов PDF, поддерживающих подписи полей формы. API позволяет добавлять цифровые подписи в поддерживаемые форматы документов и реализовывать популярные типы электронных подписей в приложениях .NET. Он также позволяет вам использовать простые и расширенные параметры поиска, чтобы найти необходимые подписи в документе.

Подписывайте PDF-документы с подписями полей формы с помощью C#

Вы можете программно подписывать PDF-документы электронной подписью, используя следующие типы подписей полей формы:

Подписывайте PDF-документы с помощью подписей полей текстовой формы

Вы можете подписывать PDF-документы с помощью подписей текстовых полей, выполнив простые шаги, указанные ниже:

  • Создайте экземпляр класса Signature.
  • Укажите путь к входному PDF-документу
  • Создайте экземпляр класса TextFormFieldSignature.
  • Создайте экземпляры класса FormFieldSignOptions с объектом TextFormFieldSignature.
  • Установите необходимые параметры знака, такие как поля, высота, ширина и т. д.
  • Вызовите метод Sign() с FormFieldSignOptions и путем к выходному файлу.

В следующем примере кода показано, как подписать PDF-документ электронной подписью с подписями текстовых полей формы с помощью C#.

// создать экземпляр подписи
Signature signature = new Signature(@"C:\Files\sample.pdf");

// создать экземпляр подписи поля текстовой формы
TextFormFieldSignature textSignature = new TextFormFieldSignature("textBoxData1", "Enter Your Name");
// создавать параметры на основе подписи поля текстовой формы
FormFieldSignOptions optionsTextFF = new FormFieldSignOptions(textSignature);
optionsTextFF.HorizontalAlignment = HorizontalAlignment.Center;
optionsTextFF.VerticalAlignment = VerticalAlignment.Top;
optionsTextFF.Margin = new Padding(20, 0, 170, 0);
optionsTextFF.Height = 50;
optionsTextFF.Width = 200;

// подписать документ в файл
signature.Sign(@"C:\Files\TextFormFieldSignature.pdf", optionsTextFF);

Класс Signature — это основной класс, управляющий процессом подписания документа. Он предоставляет различные методы для подписи, поиска, удаления или проверки подписей в документе. Метод Sign() этого класса используется для подписи документа с определенными параметрами SignOptions.

Класс TextFormFieldSignature предоставляет свойства подписи поля формы ввода текста для документов PDF.

Подписывайте PDF-документы с помощью подписей поля формы с переключателем

Вы можете подписывать PDF-документы с помощью подписей поля формы переключателя, выполнив шаги, упомянутые ранее. Однако вам необходимо создать экземпляр класса RadioButtonFormFieldSignature вместо TextFormFieldSignature.

В следующем примере кода показано, как подписать PDF-документ электронной подписью с подписями полей формы переключателя с помощью C#.

// создать экземпляр подписи
Signature signature = new Signature(@"C:\Files\sample.pdf");

// создать экземпляр подписи поля формы радиокнопки
List<string> radioOptions = new List<string>() { "Male", "Female" };
RadioButtonFormFieldSignature rbSignature = new RadioButtonFormFieldSignature("radioData1", radioOptions, "Male");
// создавать параметры на основе подписи поля текстовой формы
FormFieldSignOptions optionsTextRB = new FormFieldSignOptions(rbSignature);
optionsTextRB.HorizontalAlignment = HorizontalAlignment.Center;
optionsTextRB.VerticalAlignment = VerticalAlignment.Top;
optionsTextRB.Margin = new Padding(20, 0, 170, 0);
optionsTextRB.Height = 50;
optionsTextRB.Width = 200;

// подписать документ в файл
signature.Sign(@"C:\Files\RadioButtonFormFieldSignature.pdf", optionsTextRB);

Класс RadioButtonFormFieldSignature предоставляет свойства подписи поля формы ввода переключателя для документов PDF.

Подписывайте PDF-документы с помощью подписей полей формы Combobox

Вы можете подписывать PDF-документы с помощью подписей поля формы Combobox, выполнив шаги, упомянутые ранее. Однако вам необходимо создать экземпляр ComboboxFormFieldSignature вместо TextFormFieldSignature.

В следующем примере кода показано, как подписать PDF-документ электронной подписью с подписями полей формы Combobox с помощью C#.

// создать экземпляр подписи
Signature signature = new Signature(@"C:\Files\sample.pdf");

// создать экземпляр подписи поля формы со списком
List<string> items = new List<string>() { "Australia", "United Kingdom", "United States" };
ComboboxFormFieldSignature cmbSignature = new ComboboxFormFieldSignature("combo1", items, "Australia");
// создавать параметры на основе подписи поля текстовой формы
FormFieldSignOptions optionsTextCMB = new FormFieldSignOptions(cmbSignature);
optionsTextCMB.HorizontalAlignment = HorizontalAlignment.Center;
optionsTextCMB.VerticalAlignment = VerticalAlignment.Top;
optionsTextCMB.Margin = new Padding(20, 0, 238, 0);
optionsTextCMB.Height = 20;
optionsTextCMB.Width = 200;

// подписать документ в файл
signature.Sign(@"C:\Files\ComboboxFormFieldSignature.pdf", optionsTextCMB);

Класс ComboboxFormFieldSignature предоставляет свойства подписи поля формы ввода поля со списком для документов PDF.

Подписывайте PDF-документы с помощью подписей полей формы Checkbox

Вы можете подписывать PDF-документы с помощью подписей полей формы «Флажок», выполнив те же шаги, которые упоминались ранее. Однако вам необходимо создать экземпляр CheckboxFormFieldSignature вместо TextFormFieldSignature.

В следующем примере кода показано, как подписать PDF-документ электронной подписью с подписями полей формы флажков.

// создать экземпляр подписи
Signature signature = new Signature(@"C:\Files\sample.pdf");

List<SignOptions> listOptions = new List<SignOptions>();

// создать экземпляр подписи поля текстовой формы
CheckboxFormFieldSignature chbSignature = new CheckboxFormFieldSignature("chbData1", true);
// создавать параметры на основе подписи поля текстовой формы
FormFieldSignOptions optionsTextCHB = new FormFieldSignOptions(chbSignature);
optionsTextCHB.HorizontalAlignment = HorizontalAlignment.Center;
optionsTextCHB.VerticalAlignment = VerticalAlignment.Top;
optionsTextCHB.Margin = new Padding(20, 0, 270, 0);
optionsTextCHB.Height = 20;
optionsTextCHB.Width = 20;

// подписать документ в файл
signature.Sign(@"C:\Files\CheckboxFormFieldSignature.pdf", optionsTextCHB);

Класс CheckboxFormFieldSignature предоставляет свойства подписи поля формы ввода флажка для документов PDF.

Подписывайте PDF-документы с помощью цифровых подписей полей форм

Вы можете подписывать PDF-документы цифровой подписью поля формы, выполнив те же действия, что и ранее. Однако вам необходимо создать экземпляр DigitalFormFieldSignature вместо TextFormFieldSignature.

В следующем примере кода показано, как подписать PDF-документ электронной подписью с цифровой подписью поля формы.

// создать экземпляр подписи
Signature signature = new Signature(@"C:\Files\sample.pdf");

// создать экземпляр подписи поля текстовой формы
DigitalFormFieldSignature digSignature = new DigitalFormFieldSignature("dgData1");
// создавать параметры на основе подписи поля текстовой формы
FormFieldSignOptions optionsTextDIG = new FormFieldSignOptions(digSignature);
optionsTextDIG.HorizontalAlignment = HorizontalAlignment.Center;
optionsTextDIG.VerticalAlignment = VerticalAlignment.Top;
optionsTextDIG.Margin = new Padding(20, 0, 300, 0);
optionsTextDIG.Height = 50;
optionsTextDIG.Width = 200;
optionsTextDIG.ForeColor = System.Drawing.Color.Yellow;

// подписать документ в файл
signature.Sign(@"C:\Files\DigitalFormFieldSignature.pdf", optionsTextDIG);

Класс DigitalFormFieldSignature предоставляет свойства полей формы ввода цифровой подписи для документов PDF. Пользователь должен иметь возможность подписывать документы своей цифровой подписью в этом поле.

Подписывайте PDF-документы с несколькими подписями полей формы с помощью C#

Вы можете программно подписать свои PDF-документы с несколькими подписями полей формы, выполнив простые шаги, указанные ниже:

  • Создайте экземпляр класса Signature.
  • Укажите путь к входному PDF-документу
  • Определите список SignOptions.
  • Создайте объекты FormFieldSignature.
  • Создайте экземпляры FormFieldSignOptions для созданных объектов FormFieldSignature.
  • Установите необходимые параметры знака, такие как положение (поле, высота, ширина и т. д.) для каждого объекта.
  • Добавьте объекты FormFieldSignOptions в список SignOptions.
  • Вызовите метод Sign() с SignOptions и путем к выходному файлу.

В следующем примере кода показано, как подписать PDF-документ электронной подписью с несколькими подписями полей формы с помощью C#.

// создать экземпляр подписи
Signature signature = new Signature(@"C:\Files\sample.pdf");

List<SignOptions> listOptions = new List<SignOptions>();

// создать экземпляр подписи поля текстовой формы
TextFormFieldSignature textSignature = new TextFormFieldSignature("tbData1", "Enter Your Name");
// создавать параметры на основе подписи поля текстовой формы
FormFieldSignOptions optionsTextFF = new FormFieldSignOptions(textSignature)
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,
    Margin = new Padding(20, 0, 138, 0),
    Height = 20,
    Width = 200
};

// создать экземпляр подписи поля формы радиокнопки
List<string> radioOptions = new List<string>() { "Male", "Female" };
RadioButtonFormFieldSignature rbSignature = new RadioButtonFormFieldSignature("radioData1", radioOptions, "Male");
// создавать параметры на основе подписи поля текстовой формы
FormFieldSignOptions optionsTextRB = new FormFieldSignOptions(rbSignature)
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,
    Margin = new Padding(20, 0, 170, 0),
    Height = 50,
    Width = 200,
};

// создать экземпляр подписи поля формы со списком
List<string> items = new List<string>() { "Australia", "United Kingdom", "United States" };
ComboboxFormFieldSignature cmbSignature = new ComboboxFormFieldSignature("combo1", items, "Australia");
// создавать параметры на основе подписи поля текстовой формы
FormFieldSignOptions optionsTextCMB = new FormFieldSignOptions(cmbSignature)
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,
    Margin = new Padding(20, 0, 238, 0),
    Height = 20,
    Width = 200,
};

// создать экземпляр подписи поля текстовой формы
CheckboxFormFieldSignature chbSignature = new CheckboxFormFieldSignature("chbData1", true);
// создавать параметры на основе подписи поля текстовой формы
FormFieldSignOptions optionsTextCHB = new FormFieldSignOptions(chbSignature)
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,
    Margin = new Padding(20, 0, 270, 0),
    Height = 20,
    Width = 20,
};


// создание подписи поля цифровой формы
DigitalFormFieldSignature digSignature = new DigitalFormFieldSignature("dgData1");
// создавать параметры на основе подписи поля текстовой формы
FormFieldSignOptions optionsTextDIG = new FormFieldSignOptions(digSignature)
{
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Top,
    Margin = new Padding(20, 0, 300, 0),
    Height = 50,
    Width = 200,
};

// добавить поля формы в список параметров подписи
listOptions.Add(optionsTextFF);
listOptions.Add(optionsTextCHB);
listOptions.Add(optionsTextRB);
listOptions.Add(optionsTextCMB);
listOptions.Add(optionsTextDIG);

// подписать документ в файл
signature.Sign(@"C:\Files\Signature\sample_output.pdf", listOptions);
Подписывайте PDF-документы с несколькими подписями полей формы с помощью C#

Подписывайте PDF-документы с несколькими подписями полей формы с помощью C#

Метод Sign() класса Signature используется для подписания документа списком SignOptions. Класс SignOptions позволяет задавать параметры подписи, такие как внешний вид, типы подписи и т.д.

Класс FormFieldSignOptions предоставляет параметры подписи поля формы для документов PDF. Вы можете определить параметры полей формы, такие как HorizontalAlignment, VerticalAlignment, Margin, Height и Width. Вам необходимо предоставить определенный объект одного из классов FormFieldSignature при создании экземпляра класса FormFieldSignOptions.

Получить бесплатную лицензию

Вы можете попробовать API без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.

Вывод

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

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