Как заполнить одноимённые поля формы с помощью itext7 без потери форматированияC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как заполнить одноимённые поля формы с помощью itext7 без потери форматирования

Сообщение Anonymous »

Я новичок в itext7, у меня возникла проблема при заполнении формы.
Возьмите PDF-файл, поместите туда несколько текстовых полей PDF с одинаковым именем, но разными шрифты. Скажем, поле под названием «test» шрифтом verdana 10pt и другое поле под названием «test» шрифтом verdana 6pt. Сохраните это поле.
Цель программного обеспечения состоит в том, чтобы взять форму и заполнить ее, поэтому код должен запуститься и заполнить эти поля. Да, но каким бы ни было форматирование первого поля (по крайней мере, имеющего форматирование), оно будет скопировано во все остальные поля после него, так что вы потеряете форматирование, которое должно иметь документ.
Вот мой код:

Код: Выделить всё

Dictionary fieldValues = new Dictionary(StringComparer.InvariantCultureIgnoreCase);
fieldValues["testField"] = "This is a value";
using (PdfReader reader = new PdfReader(sourcePdf))
{
using (PdfWriter writer = new PdfWriter(destPdf))
{
using (PdfDocument document = new PdfDocument(reader, writer))
{
PdfAcroForm form = PdfAcroForm.GetAcroForm(document, false);
if (form == null)
return;

var fields = form.GetAllFormFields();

foreach (PdfFormField field in fields.Select(m => m.Value))
{
string fieldName = field.GetFieldName().ToString();
if (field is PdfTextFormField textField && fieldValues.ContainsKey(fieldName))
field.SetValue(fieldValues[fieldName]);
}
document.Close();
}
writer.Close();
}
reader.Close();
}
до и после прикрепления вырезок экрана
до
после

Подробнее здесь: https://stackoverflow.com/questions/791 ... formatting
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»