Какая будет альтернатива Pdfstamper в itext7?

Я пытался найти альтернативу Pdfstamper в itext7, но не понял, как ее использовать? Я уже реализовал код в itexts, так как он работает, но не в itext7.

У меня еще одно сомнение, какая будет альтернатива Acro Fields в itext7?

открытый байт [] GeneratePDF (string pdfPath, Dictionary<string, string> formFieldMap, bool formFlattening = true)

    {
        var output = new MemoryStream();
        var reader = new PdfReader(pdfPath);
        var stamper = new PdfStamper(reader, output);
       //PdfDocument pdfDocument = new PdfDocument(reader, writer);

        var formFields = stamper.AcroFields;

        foreach (var fieldName in formFieldMap.Keys)
            formFields.SetField(fieldName, formFieldMap[fieldName]);

        stamper.FormFlattening = formFlattening;
        stamper.Close();
        reader.Close();

        return output.ToArray();
    }

Вы спрашиваете об «альтернативе для Pdfstamper в itext7», но она уже есть в вашем коде, PdfDocument pdfDocument = new PdfDocument(reader, writer).

mkl 03.11.2022 11:10

я пытался, но это не работает, показывая некоторые ошибки, такие как - не могу преобразовать форму System.IO.MemoryStream в iText.Kernel.Pdf.DocumentProperites

vikas chaudhary 03.11.2022 11:29
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
67
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

API iText был полностью переработан между версиями 5.x и 7.x. Таким образом, у вас не всегда есть однозначное соответствие между классами здесь и там. Таким образом, я бы предложил изучить вводные электронные книги на сайте базы знаний iText, прежде чем портировать код.

На самом деле в этих электронных книгах есть пример, очень похожий на ваш код:

//Initialize PDF document
PdfDocument pdf = new PdfDocument(new PdfReader(src), new PdfWriter(dest));
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdf, true);
IDictionary<String, PdfFormField> fields = form.GetFormFields();

PdfFormField toSet;
fields.TryGetValue("name", out toSet);
toSet.SetValue("James Bond");
fields.TryGetValue("language", out toSet);
toSet.SetValue("English");
fields.TryGetValue("experience1", out toSet);
toSet.SetValue("Off");
fields.TryGetValue("experience2", out toSet);
toSet.SetValue("Yes");
fields.TryGetValue("experience3", out toSet);
toSet.SetValue("Yes");
fields.TryGetValue("shift", out toSet);
toSet.SetValue("Any");
fields.TryGetValue("info", out toSet);
toSet.SetValue("I was 38 years old when I became an MI6 agent.");

form.FlattenFields();
pdf.Close();

(«Сведение формы» в «Главе 4: Создание интерактивного PDF | .NET» в «iText 7: Вводный курс для .NET»)

Другие вопросы по теме

Похожие вопросы

Доступ к загруженному файлу из папки wwwroot
Я пытаюсь разработать GET API для фильтрации результатов из базы данных на основе выбора радиокнопки без кнопки отправки в .NET Core
EF Core 6. Невозможно отследить экземпляр типа сущности AppCase, поскольку уже отслеживается другой экземпляр с таким же значением ключа для {}
Обработка ошибок внутри OnValidSubmit после проверки формы
Использование секретов с одним и тем же ключом, хранящимся либо в secrets.json, либо в переменной среды в зависимости от среды
Дополнительная конфигурация в IHostingStartup невозможна?
Можно ли в .NET Hot Chocolate GraphQL применить пользовательскую разбивку на страницы, все еще используя промежуточное ПО [UseProjection]?
Как читать журналы моего собственного проекта ASP.NET и его зависимостей?
ASP.NET Core Minimal API возвращает код 404 вместо 401 для неаутентифицированных запросов к несопоставленным URL-адресам
Вложенные сущности и производительность в .NET Core API с Entity Framework Core