As part of our Salamander Online Reporting Web Parts we needed to convert students’ reports from Word format into pdf format. There’s no built in functionality for doing this on the fly in SharePoint, and installing and using Word itself on the SharePoint server itself to use would be a great way of bringing down SharePoint, as Word Automation is not designed for server side processes.
So after a lot of searching and evaluation we decided to go with Aspose.Words which we embedded in our web parts. As part of our purchasing negotiations Aspose asked us if we would review their Aspose.Words for SharePoint product which they have recently released. As this could be of interest to my readers, and would reduce the cost of it to use, I agreed. Fundamentally, it is Aspose.Words embedded in a SharePoint solution which gives you easy access to its functionality through SharePoint.
It works on SharePoint 2007 & SharePoint 2010 and on all the versions including the free WSS3.0 and SharePoint 2010 Foundation.
Installation is a cinch. You just need to run Setup.exe on a SharePoint server and it will detect your version of SharePoint, install the correct solution file, deploy to selected web applications and activate the web application level feature.
Once installed, what does it do for you? It has two main features, document conversion and reporting.
The Document conversion uses the engine in Aspose.Words. In their own words:
Aspose.Words for .NET lets you convert any document to any format that the product supports, these conversions are performed through our high fidelity processing engine which ensures minimal formatting loss. Simply put, your document conversions will look great!
Having used this to convert Word Xml documents to pdf for school reports I can attest to this. It’s not perfect, there are still a few issues when images are floated in Word Xml documents, but it’s probably as good as you can get without opening in Word. The best thing about it though is their support, this is fantastic. Even as an evaluation customer you can log issues on their forums and they will quickly get back to you and usually fix the issue very quickly and include it in their next release every month or two.
In Aspose.Words for SharePoint they wrap this functionality up in an easy to use format so you don’t need to write the .Net code to do it. You can convert either individual documents or entire folders at a time.
To convert a single document all you need to do is select "Convert via Aspose.Words" either on the document drop down (the edit control block)
or the button in the Ribbon (Copy group in the Documents tab) in SharePoint 2010.
Once selected you then choose how you want to convert the document, which of the 11 output formats you want to convert to, where to save the document and whether to overwrite an existing one.
Helpfully to choose the destination folder you can either type it in or use the button with ellipses on (…) to bring up a document library browser.
Once you have selected all of your options, or left them as default which is pdf format in the same document library in the same folder, called the same except for the extension, just click Convert and you are done. You are given a short report and the option to return to the source library or destination library.
Although convenient, converting individual documents in SharePoint probably wouldn’t justify the price for most organisations. You could easily open the document in Word and "Save As" the individual document in another format straight back into SharePoint. What Aspose.Words does give you is the ability to convert multiple documents at the same time and also, what is probably the most powerful conversion feature, use conversion in Workflows.
To convert multiple documents you can either select a folder instead of a document and "Convert via Aspose.Words" or, in SharePoint 2010, select multiple documents and then "Convert via Aspose.Words" on the ribbon.
The process is then very similar to that for individual documents with the converted documents ending up in the specified output folder. You also have an option to combine them into a single output document – which could be very useful for creating reports from individual documents. When combining multiple documents you can specify which order the documents are in the output document. One little bit of missing functionality is that when converting multiple documents which are not combined, you don’t have the option to change the name that will be saved as, it is just the original name with the extension changed.
As I mentioned above, I think that the ability to use the document conversion in a Workflow is probably the most powerful feature of the conversion side of the product. Once installed, it adds two workflow actions to SharePoint one for converting documents and one for the reporting functionality. It’s as simple to use as any of the built in workflow actions.
For such a powerful feature, it’s so simple to use that there’s not much to say about it. As you can see from the screenshot you specify the output format, where and name to save and whether to overwrite existing documents, and that’s it. I’m sure you can think of many ways to build this into your processes.
In addition to the document conversion functionality there’s a whole another side to the product which I will briefly mention. This is the ability to produce templated reports from data sources such as databases, SharePoint lists or XML data files. It uses the standard Word mail merge templating capabilities to design the visual layout and an xml configuration file to link up to the data. As with the document conversion, there’s an accompanying workflow activity and I can see the possibilities of doing interesting things combined with InfoPath forms, which after all are just xml documents.
This is definitely more complex and involved than document conversion, and you will definitely need a Power User or developer to write the configuration xml linking up the report template to the data. I can see it as a useful halfway house instead of using the developer tool Aspose.Words and completely coding the report generation.
There are alternatives to the document conversion which you would need to consider before purchasing.
- Use Word’s Save As. As mentioned above, you can of course just open the document in Word and use the Save As feature to save in a different format directly back to SharePoint. This is obviously more clunky and it will depend on the number of documents you need to convert as to whether it’s suitable.
- Use the Word Automation Services in SharePoint 2010 (Standard & Enterprise). SharePoint 2010 has built in document conversion functionality in the Word Automation Services. The biggest downside of these is that’s there’s no ease of use with them. You either need to write .Net or PowerShell code to convert your documents. Another big difference is that the Word Automation Services are asynchronous, i.e. run as a timer job which runs every 15 minutes by default. Whether this is a problem depends on your requirements. As expected the output fidelity of the Word Automation Services is spot on and the list of output types is very similar, although Aspose.Words for SharePoint does include epub digital book format.
So it is possible to do document conversion without Aspose.Words for SharePoint, however the product does wrap it up in a very easy to use format and doesn’t require any developers. I don’t think that there’s any doubt that the product is a lot easier than the alternatives above.
Aspose.Words for SharePoint is a very capable and easy to use product for converting Word documents within SharePoint. If you also use the reporting capability, then it’s even better. As with any 3rd party SharePoint product, there’s usually other ways to do the same thing, and you need to weigh up the benefits against the cost involved in buying the product or in replicating another way.