O grande problema em trabalhar com documentos do MS Word programaticamente é. . . o Office Interop. Para fazer quase tudo com o Word (incluindo simplesmente puxar o texto do documento, você precisa usar a Interop, o que também significa que você precisa ter o Word instalado na máquina local que está consumindo seu aplicativo. Além disso, meu entendimento é que há problemas com a automação do Word no lado do servidor.
Muitas vezes, porém, não precisamos tanto automatizar o aplicativo de escritório diretamente, mas sim obter o conteúdo do arquivo do Office (como arquivos do Word ou Excel). Lidar com toda aquela maldade da Interop torna isso mais doloroso do que deveria ser.
Felizmente, a biblioteca de código aberto DocX de Cathal Coffey resolve ambos os problemas muito bem e, ao contrário da Interop, apresenta uma API fácil de usar e altamente detectável para realizar uma miríade de manipulações / extrações contra o formato de documento do Word (o formato .docx, introduzido a partir de Word 2007).
C #: Criar e manipular documentos do Word programaticamente usando DocX