Computer Wiz99 Ответов: 1

Как конвертировать и печатать многослойные формы aspx в формате pdf?


У меня есть две веб-формы или две страницы aspx. Aspx Страница 1 пользователь вводит данные и нажимает на кнопку Отправить, после чего пользователь перенаправляется на Aspx страницу 2, где пользователь может отправить форму до пяти раз. Если пользователь должен отправить страницу Aspx три раза, как он сможет распечатать все формы, которые он отправил, в формате PDF со страницей подписи для подписи и отправки? Можно ли это сделать?

1 Ответов

Рейтинг:
10

Sergey Alexandrovich Kryukov

Для создания PDF-файлов, использовать iText, или его .Чистый порт, iTextSharp:
http://en.wikipedia.org/wiki/IText[^],
http://itextpdf.com/[^],
http://sourceforge.net/projects/itextsharp/[^].

В том числе и ссылка на сайт Java iText, потому что там находится большая часть документации. Если вы понимаете C#, вам не составит труда разобраться в документации API Java-bases.

Попробуйте сгенерировать документ из исходных данных, используемых в населении пользовательского интерфейса, а не из форм.

—СА


Computer Wiz99

Сергей Александрович Крюков, Спасибо за информацию. Будет ли iTextSharp печатать все документы, которые пользователь отправил в базу данных в виде формы? Я имею в виду, что если пользователь вводит данные в форму и отправляет эту форму примерно три раза с разными данными каждый раз, iTextSharp напечатает форму так, как она выглядит на странице aspx, а затем преобразует ее в PDF для печати?

Sergey Alexandrovich Kryukov

Вы знаете, что делает печать? Он печатает документ или диапазон в нем, независимо от того, что в нем находится. Библиотеки написания документов не должны ничего печатать, они должны создавать документ. Так и надо делать. И ваш пользователь напечатает все, что нужно. Вы можете создавать PDF-файлы «на лету», не имея его в виде файла на стороне сервера. Вы можете написать правильный тип содержимого («приложение / pdf») в HttpResponse и поместить в ответ содержимое PDF. Пользователь получит файл по запросу. В зависимости от того, что установлено на стороне клиента, а также от расположения содержимого, пользователю будет отображаться файл на странице или предложено сохранить или открыть его с помощью любого установленного программного обеспечения. Все эти опции (за исключением случая, когда ничего, связанное с PDF, не установлено в системе клиента, что вполне возможно) позволят пользователю распечатать документ или любую его часть. Конечно, никогда не следует пытаться принудительно печатать, это прерогатива пользователя.
—СА

Computer Wiz99

Ладно, Спасибо. Но я хотел бы принудительно печатать, потому что мне нужна подпись пользователя, чтобы заплатить им. Ни подписи, ни денег. Но, как вы сказали, "это прерогатива пользователя". Да, если они хотят, чтобы им заплатили. Лол.

Sergey Alexandrovich Kryukov

Не забывайте, что вы используете ASP.NET. Веб-приложение не имеет доступа к хост-системе клиента. Прислушайтесь к хорошему дружескому совету,не заставляйте печатать. Подпись получается другими способами. Что, нужно подписывать физически, ручкой? И отправить документ обратно? Вы не сможете сделать это за одну чисто электронную транзакцию.
Но тогда это не связано с печатью; если пользователь должен подписать, этот человек все равно подпишет (и, скорее всего, если вы ничего не заставите :-). Или вы можете реализовать какую-то схему электронного подтверждения, скажем, с цифровой подписью, но пользователь должен понимать технологию, чтобы доверять ей...
—СА

Computer Wiz99

Да, я понимаю, о чем ты говоришь. Да, им придется расписаться ручкой и отправить его. Мы еще не перешли на электронное подтверждение. Я пытался сказать им, что мы должны это сделать, но пока никаких действий. Может быть, в будущем. Спасибо. Не могли бы вы взглянуть на вопрос, который я озаглавил: "RangeValidation исчезает при отправке"? Спасибо.

Sergey Alexandrovich Kryukov

Я видел это, но не мог понять. Если вы хотите, чтобы я увидел некоторые из интересующих вас постов, это нормально, но, пожалуйста, добавьте ссылку с обычным HTML-якорем <a href="...">...</a>, теперь это разрешено в комментариях.
—СА

Computer Wiz99

Ладно, извини за это. Вот ссылка кликните сюда

Sergey Alexandrovich Kryukov

Пожалуйста, не надо извиняться. Теперь у меня есть Ссылка, Спасибо. Но...
—СА