Создать динамический PDF из ASP-контента - PullRequest
2 голосов
/ 15 июля 2009

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

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

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

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

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

Спасибо.

Ответы [ 4 ]

1 голос
/ 15 июля 2009

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

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

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

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

1 голос
/ 15 июля 2009

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

0 голосов
/ 16 июля 2009

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

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

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

0 голосов
/ 15 июля 2009

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

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

...