desde - Exportar a documento de Word en C#
docx c# (7)
Estoy buscando una biblioteca .NET que permita la creación de un documento de Word. Necesito exportar contenido basado en HTML a un documento de Word (formato 97-2003, no docx).
Sé que existen las librerías de Microsoft Office Automation y la interoperabilidad de Office, pero por lo que yo sé, requieren que tenga la oficina realmente instalada y la abren al abrir la palabra. Pero no quiero tener el requisito de tener una oficina instalada para que la conversión funcione.
Editar: la conversión a RTF incluso puede funcionar, si es posible.
He encontrado que un documento de salida a HTML pero llamado .doc se abrirá correctamente formateado en Word. Probé con Word 2000 y un archivo con una hoja de estilo interna.
Como la especificación de formato de documento no está abierta, y los ensamblados de interoperabilidad son la solución de Microsoft, me temo que son su opción principal (o incluso única).
De hecho, requieren Office para ser instalado, y abren Word (aunque mostrar una ventana es opcional).
Creo que Word puede abrir documentos HTML; ¿esa es una opción para ti?
Intenté simplemente abrir el html directamente en word, que técnicamente funciona, excepto por una cosa ... Mi html doc también contiene CSS, y cuando se abre en Word, ignora por completo el CSS, por lo que ya no tengo el formato. Me doy cuenta de que no sacaría todo del CSS, pero al menos me gustaría seguir teniendo las fuentes, los tamaños de letra, etc. especificados ... ¿Hay alguna forma de que lea el CSS? ¿Funcionaría si de alguna manera convertí el CSS para incrustarlo en el HTML?
Uso Aspose para trabajar con Word, hace que todo sea muy fácil: http://www.aspose.com/
¿Funcionaría si de alguna manera convertí el CSS para incrustarlo en el HTML?
Sí. Utilizo una hoja de estilo interna, como mencioné.
Ejemplo de documento:
<html>
<head>
<STYLE type="text/css">
h1 {text-align:center; font-size:12.0pt; font-family:Arial; font-weight:bold;}
p {margin:0in; margin-bottom:0pt; font-size: 10.0pt;font-family: Arial;}
p.Address {text-align:center;font-family:Times; margin-bottom: 10px;}
</style></head>
<body>
<p class="Address">The Street</p>
<h1>Head</h1>
Usar Word Automation desde ASP.NET no es una buena idea (vea MSKB - http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2 )
Si no está utilizando WinForms su mejor opción en mi humilde opinión es generar RTF, que ms palabra se abrirá felizmente. (ver el enlace en el artículo ya mencionado)
¡Buena suerte!
Hay una herramienta llamada JODConverter que se conecta a la oficina abierta para exponer sus convertidores de formato de archivo, hay versiones disponibles como una aplicación web (se encuentra en Tomcat) en la que se publica y una herramienta de línea de comandos. He estado lanzando html y convirtiéndolo a .doc y pdf con éxito, está en un proyecto bastante grande, todavía no se ha publicado, pero creo que lo voy a usar. http://sourceforge.net/projects/jodconverter/