About California Department of Fish and Wildlife

The California Department of Fish and Wildlife is a lead agency with statutory responsibilities for project review and comment on all construction projects statewide which may potentially alter existing lakes or streambeds, impacting habitats of species which are of concern to the Department due to their endangered status. The review process requires the generation of many documents which are legally mandated to comply with California Environmental Quality Act regulations. Historically many of these documents have been generated by copy and paste methods. Our goal was to provide a web interface for document generation which would allow the content owners to manage the boilerplate content of any given document (which can change year-to-year as statutes are changed/updated) but, allow for document templates to be populated dynamically with information entered by the user and information already stored in our database.

Requirements Scenario

One of the main requirements of this application has been to have the final document be modifiable by the end-user. This meant that the document needed to be as MS Word document, as that is our department-wide word processing application The second was that the documents needed to be server-side generated in a way that didn’t rely on specific versions of MS Word. Several solutions were tested, including MS Open Office XML. The third requirement has been that the content owners needed to be able to manage their own content. Furthermore, the requirement has been to take the application development team out of the business of ongoing content management for the customer. Although the MS Open Office solution was viable, it did not allow ease of 3rd party content management.

Solution Implementation

We used Aspose.Words for .NET Document Builder and merged functionalities to capture fields from a web interface, combine them with fields from our database, and merge those combined fields dynamically into template documents, so that, with a few button clicks, complete documents could be created. These documents could then be automatically uploaded to our Document Library application. The completed documents can then be accessed from inside the Project Tracking 3.0 application directly, modified at will, and the application will automatically record a history of what documents were modified by who, when, and update the Document Library version of the document, providing “one-stop-shopping” for document generation, modification/editing, and automatic audit trail generation.


Aspose.Words for .NET was simple to implement programmatically, rich in functionality, and flexible enough to tweak for specific requirements scenarios, and most importantly to the development team. It provided a way for content owners to manage their own content ongoing.

Future Implementations

Future opportunities are ample with Aspose Words for .NET. We actually got the Aspose Total for .NET, and by combining Aspose Words for .NET with some of the other modules, we can generate Word Documents, create and auto-populate spreadsheets, turn Spreadsheets and Documents into PDFs, combine multiple PDFs into a single one (very important for a host of documents required for capturing applicant project plans, maps, and other documentation), and even the possibility of using the Aspose.BarCode for .NET module to develop mobile applications to allow game wardens to tag evidence in the field for chain-of-custody tracking.


We are extremely satisfied and excited about Aspose.Words for .NET, plus the rest of the Aspose.Total for .NET suite of products. The first benefit we achieved has been regarding saving on development labor as it made the cost-benefit return very high. We look forward to using it in many other applications here at the California Department of Fish and Wildlife.

Document selection preview

Image 1:- For a project, a document is selected to generate.

Dropdown showing document listing

Image 2:- Document selection preview

Then the web interface allows certain content to be specified:

Web interface to select data in predefined fields

Image 3:- Interface to specify content for certain fields

Once specified, the document is generated after merging database fields, boilerplate content, and fields specified in the web interface:

Web interface preview for fields merging

Image 4:- Data for fields are specified over an interface

The success message displays, then the document may be viewed.

Success message after document generation

Image 5:- Successful document generation message

The document is downloaded from the Document Library:

File save dialog preview

Image 6:- Dialog to download the resultant document

And displayed on the user’s computer. Note the inclusion of Database content, plus web interface specified content.

Resultant document preview

Image 7:- Resultant document preview