net for cms asp c# content-management-system ms-word publishing extensibility

c# - for - Usando Word 2007 como editor de página CMS



mojo portal (9)

He estado buscando durante varias horas, pero no pude encontrar nada al respecto ... Básicamente me gustaría crear una plantilla o complemento para Word 2007 que permita a alguien crear nuevas páginas para un CMS. Lo que tengo en mente es algo similar a la plantilla de publicación de blog. Sé cómo crear una plantilla básica, pero no puedo encontrar una forma de publicar el documento creado utilizando un botón de publicación dentro de Word.

THX por adelantado


¿Ha considerado usar uno de los editores WYSIWYG de Javascript disponibles gratuitamente, como TinyMCE http://tinymce.moxiecode.com/ ? Cuando se configura con todas las opciones, tiene una cantidad impresionante de funcionalidad y la interfaz es muy similar a Word. Me doy cuenta de que esto no responde directamente a su pregunta, pero, como otros han señalado, empezar desde Word será difícil.


Como está utilizando Word 2007, puede exportar el documento como XML y luego usar XSLT para generar el HTML.

Si su CMS tiene una API o recurso de importación, puede convertir la salida de Word para adaptarla a esa interfaz.

Puede escribir una macro de Word para agregar una opción del botón / menú Publicar a Word que generará la salida correcta.


Entiendo lo que intentas lograr, pero Word es el punto de partida equivocado . Comenzaría con un editor de texto mucho más básico.


La palabra es horrible, horrible, horrible. Su sitio definirá estilos claros, pero Word generará HTML desagradable que no coincidirá con las definiciones CSS de su sitio web.

Su mejor apuesta, por lo tanto, es tener un medio para colocar el archivo de Word en el sitio, y tener un código que lo analice programáticamente y lo transforme en HTML válido para el sitio. En Java, podrías usar Apache POI, pero eso es muy simple. Podría ser mucho más fácil en un mundo centrado en Microsoft.

Mucho mejor, en mi opinión, es forzar a las personas a aprender Markdown, o BBCode, o HTML, o usar un Editor de Estilos HTML en su CMS - cortar y pegar texto plano, luego aplicar estilos con los estilos definidos por CMS.


No es una mala idea ya que se trata del usuario final . Si Word produce un código HTML incorrecto, debe hacer que sea semántico correcto antes de publicarlo en el CMS.

Nunca he hecho esto, pero estoy seguro de que es posible hacerlo con .NET a través de la plantilla "Word 2007 Addin" (asumiendo Office 2007).

¡Buena suerte!


Por alguna razón, esta es una característica que disfruta Excel pero no Word. Excel puede publicar automáticamente una versión de archivo HTML de su documento cuando lo guarde.
Lamentablemente, parece que Word solo puede lograr esta funcionalidad al usar Sharepoint, lo cual es una pena porque puede ser bastante útil.

Lo que puede hacer, además de crear su propio complemento, es agregar un poco de código a su plantilla para crear una copia HTML de su documento cada vez que el usuario lo guarde.

  • Primero, asegúrese de que su plantilla esté habilitada para macros (guardada como archivo .dotm ).
  • En segundo lugar, al editar la plantilla en Word, abra el editor de código VBA (ALT-F11)
  • En la lista de project , haga doble clic en su documento para abrir su archivo de código subyacente.
  • Agregue el siguiente bit de código, modificando la ruta de ActiveDocument.SaveAs a algo más apropiado para usted, como una carpeta de red compartida donde su CMS expone su CMS.

    Sub FileSave() '' First Save the main document ActiveDocument.Save '' Now we create a new document based on the current one Selection.WholeStory Selection.Copy Documents.Add Selection.PasteAndFormat wdPasteDefault '' Save it as HTML and close it ActiveDocument.SaveAs "c:/temp/mydoc.html", fileformat:=wdFormatHTML ActiveDocument.Close End Sub

Esto copiará el archivo original en uno nuevo en blanco que se guardará en HTML y se cerrará antes de regresar al archivo original.

Puede verificar algunas de las opciones en Documents.Add si desea utilizar una plantilla diferente a la normal .

Seguridad

porque esta plantilla contiene macros, tendrá que instalarla con las otras plantillas donde Word las espera.
Si no lo hace, recibirá una advertencia de seguridad.
Para evitar recibirlo, puede agregar la ruta donde están ubicadas sus plantillas a la lista de Ubicaciones de confianza en Opciones de Word> Centro de confianza> Configuración del Centro de confianza> Ubicaciones de confianza.


Puede hacer lo que quiera si usa SharePoint 2007 como su CMS. Puede configurar un blog en SharePoint 2007 y publicar en el blog desde Word. Si usa Office 2007 en el extremo del cliente, obtendrá algunos bonitos botones como "publicar en mi blog", etc.

Si no puede usar SharePoint o está hablando de un CMS existente, tiene muchos obstáculos que superar. Esta es una tarea importante y no es algo que pueda obtener una respuesta simple de .


He estado en un equipo que escribió un complemento de Word para un sistema CMS personalizado. Fue escrito en VB6 y fue capaz de tomar un documento de Word y convertir la información básica de formato - listas, negritas, cursivas e incluso tablas en HTML, que se cargó en el servidor. No creó páginas nuevas ni administró el sitio en el complemento.

Definitivamente evitaría elegir Word como el editor de su CMS según mi experiencia. El problema más importante es que cada vez que desee actualizar el complemento debe redistribuirlo a la empresa o a las empresas que lo utilizan. Puedes hacer esto como un control IE activo-x, pero es mucho más fácil limitar al usuario a un conjunto limitado de opciones de estilo a través de un editor de Javascript.

Word tiene una poderosa API para manipular su contenido, sin embargo, necesitábamos deshabilitar tantas opciones en Word para evitar las fuentes no deseadas y demás, al final se parecía más a Wordpad que a Word.

Si se trata de un proyecto nuevo y tienes tiempo, de hecho, recomendaría usar Silverlight 4.0 sobre un editor de Javascript. La versión 4.0 tiene incorporado un control richtextbox, además de la excelente Vectorlight uno.


Puede ser que te ayude, umbraco CMS permite editar con Microsoft Word.