Identifying form fields names

Aspose.PDF for .NET предоставляет возможность создавать, редактировать и заполнять уже созданные PDF-формы. Пространство имен Aspose.Pdf.Facades содержит класс Form, который содержит функцию с именем FillField, и она принимает два аргумента, т.е. имя поля и значение поля. Таким образом, для заполнения полей формы необходимо знать точное имя поля формы.

Implementation details

Часто мы сталкиваемся с ситуацией, когда необходимо заполнить форму, созданную в каком-либо инструменте, т.е. Adobe Designer, и мы не уверены в названиях полей формы. Чтобы заполнить поля формы, сначала нам нужно прочитать названия всех полей формы Pdf. Класс Form предоставляет свойство с именем FieldNames, которое возвращает все имена полей и возвращает null, если PDF не содержит никаких полей. Однако при использовании этого свойства мы получаем имена всех полей в форме PDF, и мы не можем быть уверены, какое имя соответствует какому полю в форме.

В качестве решения этой проблемы мы будем использовать атрибуты внешнего вида каждого поля. Form class имеет функцию с именем GetFieldFacade, которая возвращает атрибуты, включая местоположение, цвет, стиль границы, шрифт, элемент списка и так далее. Чтобы сохранить эти значения, нам нужно использовать класс FormFieldFacade, который используется для записи визуальных атрибутов полей. Как только у нас есть эти атрибуты, мы можем добавить текстовое поле под каждым полем, которое будет отображать имя поля.

В пространстве имен Aspose.Pdf.Facades у нас есть класс под названием FormEditor, который предоставляет возможность манипулировать PDF-формами. Откройте PDF-форму; добавьте текстовое поле под каждым существующим полем формы и сохраните PDF-форму с новым именем.