Создание динамического PDF из содержимого ASP

Я пытаюсь динамически создать PDF-файл из фонового изображения и текста из базы данных.

Когда пользователь посещает наш сайт, он может нажать кнопку, чтобы распечатать ваучер, который можно обменять в магазине. Ваучер состоит из фонового изображения и текста, напечатанного поверх него; Имя, код ваучера (сгенерированный с помощью хеш-алгоритма) и адрес электронной почты.

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

Сайт построен на классическом ASP, поэтому мне понадобится решение, которое может создать PDF-файл с изображением ваучера и текстом из базы данных.

Мне было интересно, есть ли у кого-нибудь предложения о том, как я могу подойти к этому?

Спасибо.


person doubleplusgood    schedule 15.07.2009    source источник
comment
Я должен уточнить, что когда пользователь входит в систему, он видит изображение, на котором изображена последняя сделка и доступный ваучер. Они нажимают на нее, а затем получают возможность просмотреть ваучер. В настоящее время это просто всплывающее окно с динамическим изображением в качестве фона (относящимся к конкретной сделке, на которую они щелкнули) и их пользовательскими данными, напечатанными поверх него. Здесь нет полей формы, которые можно было бы заполнить, поэтому нужно просто создать PDF-файл на лету с HTML-содержимым и содержимым базы данных, независимо от того, по какой сделке они нажимают.   -  person doubleplusgood    schedule 15.07.2009
comment
@Neil: для уточнения рассмотрите возможность простого редактирования своего вопроса, чтобы улучшить его содержание, вместо того, чтобы добавлять многословный комментарий к своему собственному вопросу.   -  person AnthonyWJones    schedule 16.07.2009


Ответы (4)


Пользователь ABCpdf

person joe    schedule 15.07.2009

Вы можете создать форму Acrobat с помощью Adobe Acrobat (т.е. PDF-файл, содержащий поля формы), а затем заполнить эти поля формы из базы данных. Таким образом, ваш PDF-файл «формы» может содержать сколько угодно сложных иллюстраций и т. Д., И вы можете создать его практически с помощью любого выбранного вами инструмента (Word, Illustrator, Quark и т. Д.). Для создания полей формы вам понадобится Acrobat (а не только Reader).

Что касается заполнения полей формы, существует множество инструментов, которые делают это, но я думаю, что лучшим (и, безусловно, самым дешевым - он бесплатный) является iText или его эквивалент в C # iTextSharp. Вы можете заполнить поля и сгладить документ (чтобы поля больше не были полями) с помощью дюжины строк кода.

Подробнее см. на сайте iText.

РЕДАКТИРОВАТЬ: теперь я вижу, что вы сказали классический ASP, поэтому iTextSharp может не подойти вам, если вы не готовы создать для него COM-оболочку. Однако есть и другие инструменты на основе COM, которые выполняют ту же работу. Adobe раньше поставляла набор инструментов FDF, но я считаю, что они больше не поддерживают его.

person Gary McGill    schedule 15.07.2009

Один из подходов - сохранить снимок в текстовом документе [это можно сделать с помощью ASP], а затем использовать программное обеспечение, такое как CutePdf, которое преобразует текстовый документ в PDF. Таким образом вы легко сможете выполнить свое требование.

Другой подход заключался бы в использовании библиотек с открытым исходным кодом, что дало бы гибкость для создания PDF-документов. Но это требует большого понимания [с точки зрения использования библиотеки и ее API].

person Roopesh Majeti    schedule 15.07.2009

Думаю, вам нужно тщательно взвесить это требование. Либо вам нужно будет купить какое-то дополнительное программное обеспечение, либо, возможно, это будет бесплатно, но это повлечет за собой значительные проблемы (что, в свою очередь, приведет к расходам).

Я не знаю простых бесплатных способов добиться этого в классическом ASP. Я использовал много таких сайтов, которые предлагают распечатанные «билеты», большинство из них используют подход «распечатать эту веб-страницу сейчас или распечатать электронное письмо, которое мы вам только что отправили».

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

person AnthonyWJones    schedule 16.07.2009