Generate and Open Word Document Reports within the Browser using APIs

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 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. Generating 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.
  • Generating 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.

The main screen of the Tracking System ASP.NET application.

Solution

After reviewing the available ASP.NET components on the market, I found the Aspose.Words 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 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 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 are 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 such as ours. The Aspose.Words component has fit us like a glove; it includes features we didn’t know were possible or so easy to implement. Using simple MERGEFIELD codes in Word along with even simpler calls to the database, we’ve created some powerful documents for the users.

We’d thought of 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, we didn’t have to give up anything! We could rapidly and easily implement the features we wanted (and those we didn’t know were possible) – all with 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 the Aspose.Words component, 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 making our job so easy!

Reports generated by Aspose.Words. The reports were sent to the client browser and opened in Microsoft Word.

Download this success story in PDF format