There are a few main options:
- Use Office Automation COM libraries - works great, but has a few conditions:
- You need to license Office (or at least Word) for the computer's that the code's running on (if Office isn't already installed)
- You cannot use it in a server-side, desktop-less environment (e.g. from within an ASP.NET application). This is not a supported scenario.
- Use a third-party library like Aspose.
- The catch is it's horrdenously expensive.
- Use a SaaS service like Saaspose
- It's reasonably priced: $15 a month, however it isn't as flexible as a local library like Aspose, and requires a reliable Internet connection.
- Use the OOXML libraries directly, but you say you don't want to dabble with XML directly.
Office 2007 and Office 2010 Word document files are essentially identical, as is the programming model and API changes between them - I think the only difference that matters is that Office 2010's UI looks better than 2007.