2009-07-15 4 views
2

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

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

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

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

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

спасибо.

+0

Я должен уточнить, что, когда пользователь вошел в систему, они видят изображение с изображением последней сделки и имеющегося ваучера. Они нажимают на это, а затем получают возможность просмотреть ваучер. В настоящее время это всего лишь всплывающее окно с динамическим изображением в качестве фона (относящееся к конкретной сделке, на которую они нажали) и их пользовательские данные напечатаны поверх нее. Для заполнения такого поля нет полей формы, поэтому просто нужно будет создать PDF-файл «на лету» с содержимым html и базы данных, независимо от того, на какую сделку они нажимают. – doubleplusgood

+0

@Neil: для разъяснений просто просто отредактируйте свой вопрос, чтобы улучшить его контент, а не добавьте многословный комментарий к своему собственному вопросу. – AnthonyWJones

ответ

0

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

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

1

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

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

Для получения более подробной информации см. the iText site.

EDIT: oops, теперь я вижу, что вы сказали классический ASP, поэтому iTextSharp может быть не идеальным для вас, если вы не готовы сделать для него COM-обертку. Однако есть и другие инструменты на основе COM, которые выполняют одну и ту же работу. Adobe используется для создания набора инструментов FDF, но я считаю, что они больше не поддерживают его.

0

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

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

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

Смежные вопросы