About University of North Carolina

I work as an analyst in the Department of Application Services, which ensures consistency and quality in the development, implementation, distribution, and support of software solutions supporting campus-wide data management needs at the division, school, department, or any other administrative unit level. We recently were tasked to replace the legacy Immunization Tracking System on OpenVMS with a Web-based, ASP.NET application.

Project

The Immunization Tracking System ASP.NET application allows the UNCW Student Health Services (SHS) staff to add, view, edit, maintain and report against immunization information for the students. The application implements a master/details scenario to access the students’ information: A search page enables the staff to enter a person’s first and/or last name and term, and view a hyperlinked result set; upon clicking a person’s name, they are presented with the editable immunization details for that individual. In addition, the users required reports and labels to be created against the Oracle database

The users required that these reports and labels take parameters and be easily saved and printed from the Web. Generation of HTML reports was problematic for a number of reasons:

  • Formatting HTML pages to fit correctly on 8 ½ X 11 paper is next to impossible. HTML does not allow correct page breaks and header/footers.
  • The generation of labels that will print correctly from HTML poses an interesting (if not) impossible challenge.
  • Information cannot be saved from Web browsers to a format that non-technical users can decipher and use.
Immunisation Tracking System preview

Image 1:- The main screen of the Tracking System ASP.NET application.

Solution

After reviewing the available ASP.NET components in the market, I found the Aspose.Words for .NET component as the best designed, most powerful, and easiest-to-use choice for generating Word documents on the fly:

  • I just needed to create a template file for the component (following the great examples and documentation on the Aspose.com site), instantiate the component in code, and then pass the filename and the data to it. The Aspose.Words for .NET component took care of the rest. That was easy!
  • I could include headers and footers in the template files as well as embed fonts for the users, plus logos and background images where necessary.
  • Saving the document was an easy task – just choose “Save” from the popup dialog! (Editor: In this scenario, the Save As dialog is brought up by the browser on the client machine when the document is saved by Aspose.Words into a stream at the server.)
  • Printing became a no-brainer: Users could output their reports and labels to any printer on the network in any format. Page breaks were automatically handled by Microsoft Word. (Editor: The customer relies on Microsoft Word installed on the client machine to open the document and print.)
  • Using Microsoft Word’s built-in Letters and Mailings > Envelopes and Labels, I created Avery label templates for the Aspose.Words for .NET component to generate the users’ mailing labels as well as labels for their folders and printed records.

In addition, we reviewed service policies: Aspose’s support is the best! Questions are answered quickly, courteously, and accurately by the Aspose professionals.

Critical to our project’s success was the power and ease-of-use of the components, and Aspose’s are the most powerful and fit perfectly into a rapid application development environment similar to ours. The Aspose.Words for .NET API has fit us like a glove; it includes features we didn’t know were possible or so easy to implement. Using simple Merge Field codes in Word along with even simpler calls to the database, we’ve created some powerful documents for the users.

We thought about using Microsoft Word automation in ASP.NET, but its complexity, scalability, security, speed, and lack of features convinced us there had to be a better way. With one developer devoted to this project as well as other tasks and projects, we would have had to forgo many features and provide a rather bland product to our users, without the functionality they needed. Tight deadlines have a tendency to quickly shrink the feature set of an application.

Conclusion

With Aspose.Words for .NET, we did not have to give up anything! We rapidly and easily implemented the features we wanted (_and those we didn’t know w_ere even possible) – all at a very reasonable price and with great service to boot. Additionally, the Aspose products aren’t tied to any specific database; we’ve got SQL Server, Oracle, and Access. All work with equal aplomb with the component. With Aspose.Words for .NET API, we can have our cake and eat it, too!

Our development time was reduced dramatically, we got the features we needed, and we got great service and support. Who else provides these many features, ease-of-use, and such great service? Aspose.Words for .NET is not just done right – it is done perfectly! Thank you Aspose.Words for .NET for making our job so easy!

Preview of document with details

Image 2:- Document preview

Preview of output generated with Aspose.Words for .NET

Image 3:- Reports generated by Aspose.Words for .NET

The reports were sent to the client browser and opened in Microsoft Word.