3

我已经搜索了几个小时,但我找不到任何关于此的信息...基本上我想为 word 2007 创建一个模板或插件,以允许某人为 CMS 创建新页面。我想到的是类似于博客文章模板的东西。我知道如何创建基本模板,但我找不到使用 Word 中的发布按钮发布创建的文档的方法。

提前谢谢

4

9 回答 9

6

我了解您要达到的目标,但Word 是错误的起点。我将从一个更基本的文本编辑器开始。

于 2008-12-18T12:37:18.130 回答
5

词很可怕,很可怕,很可怕。您的网站将定义清晰的样式,但 Word 会输出与您网站的 CSS 定义不匹配的讨厌的 HTML。

因此,最好的办法是将 Word 文件拖放到站点中,并让代码以编程方式对其进行分析并将其转换为站点有效的 HTML。在 Java 中,您可以使用 Apache POI,但这仍然很原始。在以微软为中心的世界中可能会容易得多。

在我看来,更好的是强迫人们学习 Markdown、BBCode 或 HTML,或者在你的 CMS 中使用 Styled HTML Editor - 剪切并粘贴纯文本,然后使用 CMS 定义的样式设置样式。

于 2008-12-18T12:27:36.590 回答
3

当您使用 Word 2007 时,您可以将文档导出为 XML,然后使用 XSLT 生成 HTML。

如果您的 CMS 具有 API 或导入工具,您可以将 Word 的输出转换为适合该接口。

您可以编写一个 Word 宏来向 Word 添加一个发布按钮/菜单选项,以生成正确的输出。

于 2008-12-18T14:24:16.337 回答
3

这不是一个坏主意,因为这完全是关于最终用户的。如果 Word 生成错误的 HTML,您应该在将其发布到 CMS 之前使其语义正确。

我从来没有这样做过,但我确信可以通过“Word 2007 Addin”模板(假设 Office 2007)使用 .NET。

祝你好运!

于 2008-12-18T15:02:23.313 回答
1

您是否考虑过使用免费提供的 Javascript 所见即所得编辑器之一,例如 TinyMCE http://tinymce.moxiecode.com/?当配置了所有选项时,它具有令人印象深刻的功能,并且界面与 Word 非常相似。我意识到这并不能直接回答您的问题,但正如其他人指出的那样,从 Word 开始会很困难。

于 2008-12-18T14:31:46.697 回答
1

也许对您有所帮助,umbraco CMS允许使用 Microsoft Word 进行编辑。

于 2010-02-06T20:12:57.980 回答
1

如果您使用 SharePoint 2007 作为您的 CMS,您可以做任何您想做的事情。您可以在 SharePoint 2007 上设置博客并从 Word 发布到博客。如果您在客户端使用 Office 2007,那么您将获得一些不错的按钮,例如“发布到我的博客”等。

如果您不能使用 SharePoint 或谈论现有的 CMS,那么您需要克服很多障碍。这是一项重大任务,您无法从 Stack Overflow 中得到简单的答案。

于 2008-12-18T12:56:15.517 回答
1

我一直在为自定义 CMS 系统编写 Word 插件的团队中工作。它是用 VB6 编写的,能够获取 Word 文档并将基本格式信息(列表、粗体、斜体甚至表格)转换为 HTML,然后上传到服务器。不过,它并没有在插件中创建新页面或管理站点。

根据我的经验,我绝对会避免选择 Word 作为 CMS 的编辑器。最大的问题是每次您想要更新插件时,您必须将其重新分发给使用它的公司或公司。您可以将其作为 IE 的 active-x 控件来执行,但通过 Javascript 编辑器使用户无法使用一组有限的样式选项要容易得多。

Word 确实有一个强大的 API 来处理您的内容,但是我们需要禁用 Word 中的许多选项以避免不需要的字体等等,它最终更像是 Wordpad 而不是 Word。

如果它是一个新建项目并且您有时间,我实际上会推荐使用 Silverlight 4.0 而不是 Javascript 编辑器。4.0 版内置了丰富的文本框控件,此外还有出色的 Vectorlight 控件。

于 2010-01-13T15:22:07.607 回答
0

出于某种原因,这是 Excel 喜欢但 Word 不喜欢的功能。Excel 可以在您保存文档时自动发布文档的 HTML 文件版本。
不幸的是,Word 似乎只能在使用 Sharepoint 时才能实现此功能,这很可惜,因为它可能非常有用。

除了创建自己的加载项之外,您可以做的就是在模板中添加一些代码,以便在用户保存文档时创建文档的 HTML 副本。

  • 首先,确保您的模板已启用宏(另存为.dotm文件)。
  • 二、在Word中编辑模板的同时,打开VBA代码编辑器(ALT-F11)
  • project列表中双击您的文档以打开其代码隐藏文件。
  • 向其中添加以下代码,将ActiveDocument.SaveAs路径修改为更适合您的内容,例如 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 的“选项”>“信任中心”>“信任中心设置”>“受信任位置”下的“受信任位置”列表中。

于 2008-12-18T16:13:15.043 回答