Monday, July 24, 2017

Our Journey Through Creating Documents and Into Aspose Words

Over the years, I’ve used various components to create Microsoft Office Documents.  They worked, but I always felt weird about using a component to create something that should come from Microsoft.  There never was anything directly from Microsoft.

I have been running a startup and we need to create documents so that a certain set of customers can print things.  It is not a huge need, but it is something that is ultimately very important to these few.  Out startup is in the golf area.  We need to be able to print cart signs to go on the carts as well as alphabetized lists of the golfers in a couple of formats.  A secondary item was to be able to display QR Codes so that we could get the players started in our application a bit quicker.  To go along with this, we need to talk about our service platform.  Our service runs in Azure as several WebApps.  It is great because we don’t have to manage any servers.  No worries about some update hitting the servers, no worry about the updates, no worry about much of anything.

My first thought was to do my old trick of designing the document, displaying data on a web page, and sending the appropriate mime type for MS-Word.  I wrote this and it is working today, but I ran into a problem.  This solution is great for just printing some documents and not worrying too much about formatting.  I was manually modifying the resulting word documents too much, and it was not something I could expect a user to handle.  Unfortunately, we need some more control in the formatting than I could figure out what to do.  The new mime type solution was a clear no go.

The next option was to try the Open XML SDK from Microsoft.  I downloaded the SDK, and it seemed to have a lot of documentation, so I thought it would be the right selection.  I thought, “Hey this is from Microsoft, so it will do what I need. Because it is from Msft, a junior level guy will be able to handle this.”  After about a week of this, it wasn’t happening at all.  There were all kinds of little issues we were causing things to not work.  The nuget packages created problems.  He was pulling his hair out.  This just wasn’t working.  I started to look at options.


I “talked” to some of my friends of mine over email, if that is really talking.  There were several components mentioned, and about 40% of the response were Asposes family of components.  We downloaded the nuget packages.  In 3 days, my entry level developer had all of the options I needed working.  He had items in the right spot.  Everything was working.  A couple of more days, and had had things formatted.  We were testing the formatting in ways that we couldn’t do before.  The signs were coming out correctly.  We create team lists, and that was working properly.  He had done all of this quickly and easily using Aspose Words component.  

One of my next steps was to create a QR Code document, that we could use to allow teams to scan the QR Code so that a team could immediately begin using our app with no login hassles and no need for their cell phone number.  The team downloads our app from the Apple/Android app store, scans the QR Code that they get from their golf cart, and the app immediately loads using their web browser.

Aspose Words definitely worked and made our lives easier.