2008-11-29 9 views

Respuesta

9

Será mejor que genere un archivo rtf, que palabra sabrá cómo abrir.

+0

Sí, y usted es mucho menos dependiente de las diferentes versiones de palabras. –

+4

He subido la fecha anterior cuando pensé que había dicho "Será mejor que genere un archivo rtf, que el mundo sabrá cómo abrir". – Karl

1

Hay bibliotecas de terceros que harán el trabajo.

Haciendo una búsqueda rápida de Google se creó this one, por ejemplo.

No he probado ninguno, así que no puedo darte ningún consejo específico, ¡me temo!

Háganos saber cómo le va ...

8

Si desea generar documentos de Office 2007 Compruebe los formatos de archivos XML abiertos, son archivos XML comprimidos simples, marque esta enlaces:

Editar: Comprobar este proyecto, y puede servir ou como un buen punto de partida:

parece muy simple y personalizable, mira este fragmento de código:

Paragraph p = new Paragraph(); 
p.Runs.Add(new Run("Text can have multiple format styles, they can be ")); 
p.Runs.Add(new Run("bold and italic", 
     TextFormats.Format.Bold | TextFormats.Format.Italic)); 
doc.Paragraphs.Add(p); 
+0

Recomiendo este enfoque, es un poco complicado, pero es gratis y funciona bien. Yo uso XML para crear documentos de Excel también. –

+1

No puedo imaginar por qué lo recomendaría. A menos que sepa que todos los clientes tienen instalado Word2007 o el importador, es inútil. El formato es una especificación de 5000 páginas. –

6

palabra de ellos felizmente abrir un HTML con una extensión .doc . Si incluye una hoja de estilo interna, puede tenerla completamente formateada. Hubo post anterior sobre este tema:

Export to Word Document in C#

1

En Office 2007 Microsoft introdujo un nuevo formato de archivo llamado Microsoft Open Office XML Format (.docx). Este formato no es compatible con versiones anteriores de Microsoft Word. Como se trata de XML, puede crear o leer sin tener una palabra instalada.

+0

No lo has visto, supongo? Páginas 5K para una especificación con algunos miles de errores –

6

La creación de los viejos archivos .DOC (pre-Word 2007) es casi imposible sin Word. El formato es demasiado complejo. Microsoft ha publicado la descripción del formato, pero es suficiente para reducir a un programador crecido a lágrimas. Hay una razón para eso también (histórica), pero eso no mejora las cosas.

El nuevo .DOCX sería más fácil, aunque bastante molesto. Sin embargo, dependiendo de las versiones de Word a las que se dirige, también hay otras opciones.

Por un lado, está el clásico .RTF. El formato es bastante complejo, pero está bien documentado y cuenta con un sólido soporte en muchas aplicaciones y plataformas. Y puede usar algunos reemplazos de cadenas en archivos de plantillas para facilitar las cosas (no es binario).

Luego están los archivos XML de Word "antiguos". Creo que funcionaron comenzando con Word XP. Un poco los predecesores de .DOCX. Los he usado, no está mal. Y la documentación está bastante bien.

Finalmente, la manera más fácil que elegiría es hacer un HTML simple. Word puede cargar bien los archivos HTML comenzando con la versión 2000. De la manera más simple, simplemente cambie la extensión de un archivo HTML a .DOC y lo tiene. También puede agregar algunas etiquetas y comentarios específicos de palabra para que se vea aún mejor en Word. Use la opción HTML Save the ... de Word para ver cuáles son.

+0

docx no sería más fácil. Traducir de binario a xml es una operación que preserva la complejidad. –

19

He trabajado en una empresa en el pasado que realmente quería documentos de Word generados, al final quedaron perfectamente satisfechos con los documentos RTF que tenían una extensión ".doc". Word no tiene problemas para reconocerlos y abrirlos.

Los documentos RTF fueron generados con iText.net (libre biblioteca .net), la API es bastante fácil de usar, funciona muy bien, no necesita palabra en la máquina, también puede extenderse a generar PDF, HTML y documentos de texto en el futuro con muy poco esfuerzo. Después de cuatro años, la solución que creé todavía está en vigencia, así que eso es un pequeño testimonio a favor de iText.net.

Parece que el funcionario iText page sugiere que iText Sharp es la mejor opción .Net en este momento, así que eso es otra opción

+0

estoy descubriendo que la documentación sobre este proyecto es inexistente. – benpage

Cuestiones relacionadas