I am just assigned a project to make a paper based process to be web based. What I need to do is to allow user to fill out an online form and sign it using his/her mouse. The data entered and the signature needs to be later retrieved as a PDF file.
So, I've created a working prototype using ASP.NET webforms and a third party PDF library ( iTextSharp), along with a mouse signature capture tool that I purchased.
The prototype works fine. But my concern is, I may need to extend this application to support many ( maybe hundreds of) forms. Each form has different fields, but they all require a signature. It took me 2 days to build the prototype for one form, including creating the web forms, mark fields in PDF template, hook up web form fields with fields in PDF form, etc...In the future I don't want to spend 2 days to set up each form, is there a better way than building custom form using ASP.NET?
I know of InfoPath, but never used it, has anyone done anything similar before? Is InfoPath with SharePoint a better solution to my problem? Or there is something else? If anyone can give me some advice, I would greatly appreciate it.
Thanks a lot!
The advantage that infopath has is that it has the ability to take advantage of digital ink (handwriting) out of the box. if your version of Windows includes Microsoft Ink (XP tablet, Vista, Win 7) then Infopath will allow you to capture text and images using various available input devices (mouse, pen etc..) depending on the control that you use. A textbox will using handwriting recognition to convert the writing into text, where as an image box will allow free drawing, ideal for caputring a signature.
I have used Infopath as a standalone disconected client system that used email as the transport system. the forms were attatched to an email and added to the outbox. when the user retrieved their email, the forms were automatically sent. The great thing about infopath is that the data is xml. this gives you enourmous flexabilty with what you can do with the data.
As a side note...
You may want to think about the legal side of things when people are signing (using handwriting) e-forms. As Infopath seperates the presentation and the data, which is great for capturing the data for reporting, workflow etc, it becomes a downside from a legal standpoint as the data can be manipulated and presented very differently from what the signee originally signed. In most cases this is not problem, but if the the form is any form of legal document (invoice, goods receipt) you will need to think about how to keep both the data and presentation together and seperate at the same time.
This will be a problem for any system that seperates the data from the presentation, be it web based forms, infopath, or PDF forms.
Hope this helps...
I have also been tasked with a similar problem to solve. I looked at solutions like Adobe LifeCycle but we wanted to use SharePoint as an ECM. One of the problems with InfoPath is that it requires SharePoint or the InfoPath desktop application to fill out the forms. If you don't already have SharePoint setup or cannot use SharePoint, then InfoPath is not the way to go. I didn't want to duplicate efforts by having to create the entire form using html forms and then have to merge all that data onto a printable version for them to sign... seemed like duplicating efforts so I saw InfoPath as a possible solution. Adobe LifeCycle seemed almost a better way to go because we can just use a fillable PDF to capture, do some validation and submit the data. However, Adobe LifeCycle was very expensive so wasn't a good solution for the project.
So if its not a problem having SharePoint as part of your solution, then by all means go for it. But, if you need people to fill out the InfoPath form and not use the desktop client or be logged into SharePoint, then I don't think it's the right solution.
#sean717: You approach with itextsharp reminds me of the existing tool we use in our company. Check www.pdfsharepoint.com if you want to both highly interactive pdf forms and integration with SharePoint 2010. It works for us.
Related
I'm working on a project where user's submit data and then it is put onto a state form that they can print and submit. To give you an idea of what I'm talking about, the form looks similar to an IRS 1040 form (https://www.healthykids.org/_img/document_1040.gif).
We've recently discovered that the form generated by our software isn't close enough to be accepted by some state's OCR process.
We're looking for some way to quickly create stylesheets or something similar so that the data can be overlayed on a scan of the original form and then printed. We've tested to ensure this works, however the lost time of trying to get the positioning right for every version of the form for each state has become a huge problem.
I'm looking for a tool or technique that would help me roll out each form faster.
The web application is based on Code Igniter. Our company prefers open source solutions but if a proven proprietary product exists we would certainly use it due to the critical nature of the issue.
Thank you very much for any help.
First, the obvious. Most web IDE's do this with ease (I know both Microsoft Visual Studio and Adobe Dreamweaver would allow you to visually position the elements above the image without problems).
I take it you are looking for a tool that lets you design the forms as part of the web application itself. One of the related links points to Suggestions for a JavaScript form builder?.
Other than that, if you know your Javascript and jQuery/extjs etc, it should be pretty quick to write a simple "put the textfields above the image" (absolute-positioning + drag and drop) type of web interface.
I am using ASP.NET MVC. Sometimes I work with ASP.NET Web Forms too. I can pretty much create my queries using stored procs or LINQ and render my report just using a plain HTML table. With proper styling it should come out decent.
I don't know SSRS but I have some experience working with crystal from before. The only advantage I see from using crystal for my reports against just a simple HTML table is that it can export to PDF. But I could probably get some third-party library that can do that too. Regarding charts like pie and bar graphs there are a lot of javascript tools available out there that does that and they're free.
I guess I'm posting this to see what I'm missing with reporting tools like Crystal and SSRS.
EDIT: With ASP.NET MVC it is not particularly difficult to create the report. Just formulate the correct model, create the controller action and view with scaffolding (Detail) and you will have the code generated for you right away. With ASP.NET Web Forms it is probably easier, just use a GridView and you're done. For both cases all that is left is the CSS. With Crystal you also need to edit the layout you have generated the report, which is work still as well.
The reason we use SSRS for our internal reports is that our database guy can create reports without having any knowledge of how to format output using code.
your points are valid and I have been thinking about such things multiple times.
Personally I used CR in the past and SSRS more recently, but my absolutely best experience was with DevXpress XtraReports, super cool design and royalty free end user designer with or without Ribboned interface.
the difference between using a report engine or plain raw HTML is in the way you design the reports and the overall features.
in XtraReports for example, the lovely thing is that a report is simply a .cs file (C# class) and whatever you design with the UI designer is stored in that file exactly like the windows forms designer does ( or ASP.NET aspx and aspx.cs designer does ). So you see the report you are designing and you Drag & Drop controls and place them where needed. Then you have out of the box formulas, running totals, page breaks, as you mentioned export to pdf, excel, jpg, html, word and so much more.
if I was free to choice again I would go again for XtraReport and forget about plain and raw html table coding, let's focus on the real business of the application we write and not get nuts with page breaks, exporting things and in house implemented formulas or group/running totals... this is my idea and approach at least.
The biggest reason for me to use a reporting engine is for printing and page breaks. You can't always guarantee the way the HTML will format for all the various browsers and it's not great for setting hard page breaks. With a reporting solution, you can group things together to force page breaks to be more predictable.
This is especially important if you're looking for a more professional looking report.
as already stated above using another report generator can have much benefits. I've used very often List & Label. There is a completely different concept behind and depending on your needs it will be easier but still powerfull, especially for .NET reporting. It is worth to do a trial (there is even a free edition available).
I have an Administrator that needs a dynamic form generator with layout capabilities on an ASP.NET page so that they can add, edit and change layout of questions that will be filled out by users whose responses will be saved into the database dynamically. The format is very important as there will be an offline piece that will be generated using Adobe Acrobat and both forms need to be very similar in format. The online portion also needs to be fully printable so that the end user can keep a copy for there personal records. Does anyone know of any ASP.NET controls, free or otherwise, that I could use to complete this functionality? Or what would be the best technology to solve this problem?
Not sure I see a question. This is more of my opinion of what you should do:
Im working on something similar. My form generator had a LOT of complicated fields and data to handle and I decided to go with silverlight. I very happy now, despite the learning curve, and the madness async api, because it would have just been hairy to do it with asp.net, pure asp.net with postbacks would just be bad UX and then putting ajax in between would've just been scary.
If you have great Ajax/asp.net experience go with it, but if not, Id suggest silverlight. I got up to speed pretty quick.
I've got an asp.net application where each client will have their own data entry forms. I'm a bit tired of reinventing this wheel. Does anyone have any good experience with an "off the shelf" component for rapidly building such forms?
The component will need to fit within an existing asp.net site and support layout of the fields, not just "dumping" the fields on the page. The data needs to go back to a database for querying (but can use it's own schema) and some light level of workflow needs to be supported (mostly around completion status). Infopath is a non-starter due to its requirements for sharepoint etc, but if you're thinking along those lines, you have some idea of what I'm looking for. The system must be open for modification as I'm sure we won't be able to find something that does everything we need.
Doesn't matter if it is OSS or commericial.
Thanks!
We've used FeedBack Server here in the past and it worked out pretty good.
Microsoft lightswitch.
Telerik widgets in a web page.
I need a forms technology similar to MS InfoPath or Adobe LiveCycle Forms ES in that it has an XML data structure, is compatible with ASP.NET, renders in a browser, and is easily configurable by non technical office worker types. TurboTax Online is a good example of the type of functionality I have in mind.
The missing piece that I have not yet a solution for is that it be able to operate like a wizard such that responses to certain steps dynamically with AJAX or Flash/Silverlight or some kind of RIA either prompt or hide or alter subsequent parts of the form. It needs to be able to save all results or partial results to persistent form.
This would be easy to program the functionality but need a technology that can create / generate these forms and be able to set the rules in some sort of easily configurable way - the same way an office worker can create a form with InfoPath at least with perhaps a workflow style tool to set the ruls and flow of the form.
Was there a reason you didn't investigate Adobe LiveCycle ES2 any further?
It seems to be a good fit for your requirements, and does have a wizard like feature called Form Guides. You can hide/show sections based on user input, and have form events trigger calls to web services.
Given when you posted this, Guides may not have yet been implemented in LiveCycle - might be worth looking at again if this is still relevant for you.