Использование Word 2007 в качестве редактора страниц CMS - PullRequest
3 голосов
/ 18 декабря 2008

Я искал несколько часов, но ничего не нашел по этому поводу ... По сути, я хотел бы создать шаблон или плагин для Word 2007, который позволил бы кому-то создавать новые страницы для CMS. Я имею в виду нечто похожее на шаблон блога. Я знаю, как создать базовый шаблон, но не могу найти способ опубликовать созданный документ с помощью кнопки публикации внутри Word.

Заранее

Ответы [ 9 ]

6 голосов
/ 18 декабря 2008

Я понимаю, чего вы пытаетесь достичь, но Слово - неправильная отправная точка . Я бы начал с гораздо более простого текстового редактора.

5 голосов
/ 18 декабря 2008

Слово ужасно, ужасно, ужасно. Ваш сайт будет определять четкие стили, но Word будет выводить неприятный HTML, который не будет соответствовать определениям CSS вашего сайта.

Поэтому лучше всего иметь средство для добавления файла Word на сайт, а также для программного анализа кода и преобразования его в действительный для сайта HTML. В Java вы можете использовать Apache POI, но это все еще очень сыро. Может быть, намного проще в мире, ориентированном на Microsoft.

Гораздо лучше, на мой взгляд, заставлять людей изучать Markdown, или BBCode, или HTML, или использовать Styled HTML Editor в вашей CMS - вырезать и вставлять простой текст, а затем стилировать с помощью определенных CMS стилей.

3 голосов
/ 18 декабря 2008

Это неплохая идея, поскольку это все о конечном пользователе . Если Word создает плохой HTML, вы должны просто сделать его семантически правильным, прежде чем отправлять его в CMS.

Я никогда не делал этого, но я уверен, что это возможно с .NET через шаблон Word 2007 Addin (при условии Office 2007).

Удачи!

3 голосов
/ 18 декабря 2008

Поскольку вы используете Word 2007, вы можете экспортировать документ в формате XML, а затем использовать XSLT для генерации HTML.

Если в вашей CMS есть API или средство импорта, вы можете преобразовать выходные данные из Word в соответствии с этим интерфейсом.

Вы можете написать макрос Word, чтобы добавить кнопку Word / опцию меню в Word, которая будет генерировать правильный вывод.

1 голос
/ 06 февраля 2010

Может быть, это поможет вам, umbraco CMS разрешить редактирование с помощью Microsoft Word.

1 голос
/ 13 января 2010

Я был в команде, которая написала надстройку Word для пользовательской системы CMS. Он был написан на VB6 и был в состоянии взять документ Word и преобразовать основную информацию о форматировании - списки, полужирный, курсив и даже таблицы в HTML, который был загружен на сервер. Он не создавал новые страницы и не управлял сайтом в надстройке.

Я бы определенно не стал выбирать Word в качестве редактора для вашей CMS из моего опыта. Самая большая проблема заключается в том, что каждый раз, когда вы хотите обновить надстройку, вы должны распространять ее среди компаний или компаний, использующих его. Вы можете сделать это как элемент управления IE active-x, но гораздо проще просто запретить пользователю ограниченный набор стилей с помощью редактора Javascript.

Word действительно имеет мощный API для управления вашим контентом, однако нам нужно было отключить так много опций в Word, чтобы избежать нежелательных шрифтов и т. Д., В конце концов, он напоминал Wordpad больше, чем Word.

Если это новый проект и у вас есть время, я бы рекомендовал использовать Silverlight 4.0 поверх редактора Javascript. Версия 4.0 имеет встроенный элемент управления richtextbox, а также превосходный Vectorlight.

1 голос
/ 18 декабря 2008

Рассматривали ли вы использование одного из свободно доступных редакторов Javascript WYSIWYG, таких как TinyMCE http://tinymce.moxiecode.com/? При настройке со всеми параметрами он обладает впечатляющим набором функций, а интерфейс очень похож на Word. Я понимаю, что это не дает прямого ответа на ваш вопрос, но, как уже отмечали другие, начинать с Word будет сложно.

1 голос
/ 18 декабря 2008

Вы можете делать, что хотите, если вы используете SharePoint 2007 в качестве CMS. Вы можете настроить блог в SharePoint 2007 и публиковать в нем сообщения из Word. Если вы используете Office 2007 на стороне клиента, вы получите несколько приятных кнопок, таких как «разместить в моем блоге» и т. Д.

Если вы не можете использовать SharePoint или говорите о существующей CMS, вам придется преодолеть множество препятствий. Это серьезное мероприятие, и вы не сможете получить простой ответ из Переполнения стека.

0 голосов
/ 18 декабря 2008

По какой-то причине эта функция нравится Excel, но не Word. Excel может автоматически публиковать HTML-версию документа при его сохранении.
К сожалению, Word, кажется, может достичь этой функциональности только при использовании Sharepoint, и это позор, потому что это может быть весьма полезно.

Что вы можете сделать, если не создавать собственную надстройку, это добавить немного кода в шаблон, чтобы создать копию HTML-документа, когда пользователь его сохраняет.

  • Сначала убедитесь, что ваш шаблон поддерживает макросы (сохранен как .dotm файл).
  • Во-вторых, при редактировании шаблона в Word откройте редактор кода VBA (ALT-F11)
  • В списке project дважды щелкните документ, чтобы открыть его файл с выделенным кодом.
  • Добавьте следующий бит кода, изменив путь ActiveDocument.SaveAs к чему-то более подходящему для вас, например, к общей сетевой папке, где ваша CMS предоставляется вашей 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
    

При этом будет скопирован исходный файл в новый пустой файл, который будет сохранен в HTML и закрыт перед возвратом к исходному файлу.

Вы можете проверить некоторые параметры Documents.Add, если хотите использовать шаблон, отличный от normal.

Безопасность

, поскольку этот шаблон содержит макросы, вам придется установить его вместе с другими шаблонами, в которых их ожидает Word.
Если вы этого не сделаете, вы получите предупреждение системы безопасности.
Чтобы избежать его получения, вы можете добавить путь, по которому расположены ваши шаблоны, в список Надежные расположения в разделе Параметры Word> Центр управления безопасностью> Настройки центра управления безопасностью> Надежные расположения.

...