xceed c# asp.net ms-word

c# - xceed - Manipulación de documentos de Word en el servidor sin Office instalado(ASP.NET)



xceed word (5)

Estoy trabajando en un código para hacer un sistema MS Word a HTML. Después de buscar en Google durante aproximadamente medio minuto, pude encontrar el código que hace exactamente lo que necesito. Ahora ... Funciona sin conexión en el servidor de desarrollo ASP.NET, pero no funcionará cuando cargue los archivos en mi servidor.

Leí un par de publicaciones, y el problema parece ser porque el servidor no tiene instalado MS Office. Ahora, no estoy seguro de si lo ha hecho, todavía estoy recibiendo un correo electrónico de la gente buena @ hosting (pero asumo que no está instalado), pero mi pregunta es ...

¿Hay alguna forma de hacerlo funcionar sin la instalación de MS Office? Estoy usando Microsoft.Office.Interop.Word ver. 12. / ASP 3.5 / C # y el error que estoy recibiendo es

No se pudo cargar el archivo o el ensamblaje ''Microsoft.Office.Interop.Word, Version = 12.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c'' o una de sus dependencias.

¡Gracias por tu tiempo!


  1. Debes explicar mejor cual es el resultado que quieres lograr.
  2. DE NINGUNA MANERA, las necesidades de interoperabilidad de MS Office deben instalarse en el servidor de MS Word.
  3. Dependiendo de sus necesidades, debe encontrar la mejor biblioteca de terceros (sugiero OpenXml.WordprocessingDocument ) pero el código debe ser reescrito.

Creo que el SDK OOXML puede contener algo, pero solo funcionará con docx y no con el documento antiguo.

En cuanto a los formatos antiguos, también me interesa una forma barata y fácil de admitirlos sin la necesidad de utilizar las API de automatización.


La biblioteca Interop no es una biblioteca "funcional" en sí misma, solo es un envoltorio alrededor de winword.exe para programas .NET, por lo que usar esta biblioteca no tiene ningún sentido si no instala o utiliza Microsoft Word.

En su lugar, tendrá que encontrar una biblioteca que permita manipular documentos de Word. Si puede restringir los documentos para que estén en el nuevo formato (docx), entonces será una tarea bastante fácil, por ejemplo, usar el SDK de OOXML (como lo propone Stilgar, también). Pero también hay bibliotecas para el formato antiguo.

Actualización: Debo admitir que, aunque estaba convencido de que busqué y encontré algunas bibliotecas para el formato de documento anterior anteriormente, no logro encontrarlas más, probablemente porque las listas de resultados están "estropeadas" por las muchas ofertas de docx. Para ser claro:

Si puede mantener el formato docx (2007 o posterior), debe hacerlo. Office Open XML es un estándar abierto (más o menos) basado en ZIP y XML, y muchas herramientas ya existen y se desarrollarán en el futuro. El formato antiguo es mucho menos compatible hoy en día.

Si también tiene que Aspose el formato antiguo, entonces Aspose (según lo propuesto por Uwe) es la única biblioteca que encontré.


Lo que estoy usando es Aspose , un paquete comercial.


puede utilizar Code7248.word_reader.dll

A continuación se muestra el código de ejemplo sobre cómo usar Code7248.word_reader.dll

Agregue una referencia a esta DLL en su proyecto y copie el código a continuación.

using System; using System.Collections.Generic; using System.Text; //add extra namespaces using Code7248.word_reader; namespace testWordRead { class Program { private void readFileContent(string path) { TextExtractor extractor = new TextExtractor(path); string text = extractor.ExtractText(); Console.WriteLine(text); } static void Main(string[] args) { Program cs = new Program(); string path = "D:/Test/testdoc1.docx"; cs.readFileContent(path); Console.ReadLine(); } } }