Использование Word 2007 в качестве редактора страниц CMS

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

спасибо заранее

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
1 576
9

Ответы 9

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

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

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

"затем используйте стили, определенные CMS". 5 звезд

Alex 18.01.2011 00:34

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

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

Hagalaz 18.12.2008 15:49

@Hagalaz - извините, что вы так считаете - я просто пытался дать совет. На вашем месте я бы не стал использовать Word в качестве отправной точки для вашего проекта. В любом случае удачи!

Galwegian 18.12.2008 15:54

Я согласен с галвэном, не используйте Word.

Rob 18.12.2008 19:18

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

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

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

Hagalaz 18.12.2008 16:03

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

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

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

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

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

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

Удачи!

По какой-то причине эта функция нравится 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»> «Центр управления безопасностью»> «Настройки центра управления безопасностью»> «Надежные расположения».

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

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

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

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

Может быть, вам поможет, umbraco CMS позволяет редактировать в Microsoft Word.

Другие вопросы по теме