Gekom is an online web application that offers small companies and freelancers a secure, reliable, and easy way to manage their customers’ quotes and invoices wherever they are. Gekom customers can quickly create and download an invoice in order to send it by e-mail or print it out.
During the development of Gekom, one of the major difficulties was to find the right way to handle document generation. While using a database engine to store user input is a very common issue that is not difficult for a developer to solve but document generation is not a straightforward task. The main requirements while building Gekom were:
- To generate invoices from both user input and database records
- To include images such as company logos on invoices
- To be able to manage invoice templates easily
The third requirement was probably the most interesting to solve: the question was how to use Microsoft Word for authoring templates without using Microsoft Word for generating invoices?
The above-specified scenario was supposed to be performed daily by all users of the application.
After several tries and non-convincing results, the answer was found: Aspose.Words for .NET.
- Simple mail merge using Microsoft Word template
- Mail merge with regions
- Image merge fields
- Save Word document as PDF
As a software developer, we have been facing the document generation challenges several times, in several contexts. We already have been using:
- Word/SpreadsheetML in conjunction with XML data and XSLT transforms
- Office automation
- XSL-FO language and processors
But we were never convinced by any of these solutions: performance, easy templates management, and data integration requirements were never met all together.
Once we implemented real-world scenarios using Aspose.Words for .NET, we got to know for the first time, which components we will continue using.
Aspose.Words for .NET provided a so simple solution to our main requirement (that was to be able to manage templates using Microsoft Word), that we seriously consider extending the use of other components. We consider providing the end-users with a way to generate monthly Excel extracts using Aspose.Cells for .Net.
We are really convinced about the quality and the robustness of Aspose components and would recommend every software developer to have a look at it.