Динамический контент с использованием ItextSharp внутри PDF-формы - PullRequest
0 голосов
/ 14 февраля 2019

Я создаю несколько форм PDF для заполнения моего текущего проекта.Но я не могу понять, как заполнять содержимое динамически, например, добавлять больше строк в таблицу и размещать содержимое под ней.

Пример:

Это шаблондобавить данные, используя Adobe Acrobat для создания PDF-формы и ItextSharp для ее заполнения.

Example - PDF form template

И это PDF-форма после получения содержимого

enter image description here

Возможно ли это при использовании формы Acrobat и ItextSharp?Если нет, то как, по-твоему, я должен поступить, чтобы достичь этого результата?

1 Ответ

0 голосов
/ 14 февраля 2019

Приятно видеть, что вы используете itextsharp для своего варианта использования.Обратите внимание, что itextsharp на самом деле iText 5, который уже закончился.Вам лучше использовать iText 7 в вашем программном обеспечении.

Я тоже являюсь частью команды iText и на самом деле есть продукт только для вашего случая использования.Он называется DITO, и вы можете настроить повторяющиеся строки в таблицах, что вам нужно в вашем случае использования.Я уверен, что вы можете сделать это и с помощью itextsharp, однако мой ответ - показать, как это сделать правильно, не изобретая колесо.В DITO вы создадите свой шаблон PDF, аналогичный тому, что вы сделали в Acrobat для создания формы.Теперь выгода заключается в том, что вы определяете привязку данных к элементам, которые вы хотите, в браузерном редакторе, и как только вы закончите с вашим дизайном, единственная вещь - это отправить ваши данные в этот шаблон с помощью DITO backend SDK.Позвольте мне показать вам пример данных JSON.

{
"first_name": "Lucius",
"last_name": "Malfoy",
"email": "malfoy@hogwarts.com",
"address": "Abra Cedavra\nTo the att. of L. Malfoy\nWiltshire\nEngland",
"items": [
    {"item": "Commercial Invisibility Cloak License .NET", "price": "6800", "quantity": "1"},
    {"item": "Updates and Support Commercial Invisibility Cloak .NET", "price": "666", "quantity": "1"},
    {"item": "Commercial Non-Production House Elf", "price": "3140", "quantity": "1"},
    {"item": "Updates and Support Commercial Non-Production House Elf", "price": "152", "quantity": "1"},
    {"item": "Nimbus 2001", "price": "5640", "quantity": "13"},
    {"item": "Fantastic Beasts and Where to Find them", "price": "28", "quantity": "1"}
    ]
}

Как вы видите, в узле "items" есть 6 элементов.Это в основном говорит о том, что строка в таблице будет повторяться 6 раз.Теперь, если бы он содержал 200 элементов, таблица повторялась бы 200 раз, возможно, просматривая разные страницы с верхними и нижними колонтитулами.

Тот, который вы создали, не работает только потому, что вы разрабатываете «статическую» форму.Динамические формы также можно создавать в PDF с использованием технологии XFA, которая уже устарела в последнем стандарте PDF.

Если вы хотите узнать больше об этом, я бы предложил связаться с iText, и они помогут вам узнать, какдобиться того, что вы хотите.

...