使用MS Word和C#xmldoc支持的帮助生成工具[关闭]

问题描述 投票:11回答:6

我正在寻找一个满足这些要求的帮助/文档生成工具:

  • 它应该支持c#编译器生成的xmldoc注释或者(甚至更好)直接支持sandcastle
  • 它应该支持导入MS Word文档。
  • 它应该支持创建从概念文档到源代码生成的参考文档的链接。
  • 如果它支持MS Word中的概念性文档创作,那就太好了

更多细节。我的项目是.NET的框架/库。它有几个VS解决方案,共有超过50个C#项目。首先,我想从我的项目的源代码生成帮助(将来chm&help2&help3)。我将该文档称为“参考文档”。 Sandcastle(特别是使用SCFB)可以非常好的方式做到这一点。但是(我想这是非常常见的情况)我有一些框架/库的额外文档。该文档是在MS Word文件(5-10文件)中。我将该文档称为“概念文档”。我想用概念文档和参考文档(如MSDN)生成一个可靠的帮助系统。我希望帮助的概念部分包含链接(URL),它引用框架/库中每个.NET类型名称的帮助的引用部分。 (显然,任何帮助系统最终都只是HTML)。

问题是如何创建这些链接。 MS Word文件对C#xmldoc一无所知。 Sandcastle不支持Word文件。所以我必须采取一些帮助创作工具(HAT)。到目前为止,我找不到任何不适合我的工具。如果有任何帮助,我将非常感谢!

所有工具的绊脚石都是链接自动创建。我想在生成期间自动创建链接(可以在构建服务器上进行)。为何自动?因为它允许轻松重命名类型。例如。我在概念文档中有一些文本:“用于访问请求处理上下文使用静态属性Current of XOperationContext type”。这里XOperationContext是一个类型名称。我希望它成为XOperationContext类在结果帮助系统中的规范的链接(URL),没有任何重大的努力。我想在Word中标记它(可能安装了一些HAT的插件),或者在HAT的编辑器中标记为“如果可能的话,使这个单词链接”。在生成期间,如果存在具有此类名称的类型名称,则每个这样的单词将成为链接。

我知道这些工具:

Doc-o-Matic支持链接自动创建。真的自动。它尝试为PascalCase中的每个单词创建一个链接 - 非常出色。但它不支持MS Word。 Innovasys和ComponentOne的软件不支持自动创建链接。 Innovasys的软件不支持MS Word(我不确定100%这个)。

我试图在Innovasys和ComponentOne的论坛上提问。到目前为止没有运气。 Innovasys的软支持场景就像我一样:在单独的工具中创建概念文档 - HelpStudio,并使用其他工具从源代码生成帮助 - DocumentX。但是没有能力自动创建链接并导入MS Word文件。

所以,请分享你对这项共同任务的经验(我确信它应该是常见的)。

附:如果我没有设法从英语语法的角度正确解释我的想法,请告诉我,我会再试一次。

documentation documentation-generation sandcastle help-authoring
6个回答
1
投票

如何将MS Word文件导出为HTML,然后将它们合并到帮助文件的HTML中?这是一个选择吗?可能会丢失一些格式,但它可能会让您更好地集成所有内容。


1
投票

Sandcastle是开源的,为什么不自己创造一些东西呢?写一个办公自动化工具毕竟不是那么难。您甚至可以在该工具上创建业务。


1
投票

我建议从SandCastle开始,然后对其中一个输出文件格式进行后处理以生成Word文档。一旦您对包装的内容有了很好的理解,从头开始生成Office 2007 Word文档(*.docx)并不困难。 Brian Jones有一个关于Open XML SDK的优秀博客,该博客为处理.NET中的Office文档提供支持。

您可以随时决定从现有的Word文档开始,然后用自己的文本替换占位符,如果创建一个完整的包看起来太复杂或太多工作,你想要完成的工作。


0
投票

我认为解决方案是首先将您的Word文件转换为(X)HTML或其他非二进制格式,然后将概念文档与参考文档一起导入。您可以根据文档正文的文本内容自动创建链接(如您所指出的),也可以通过预处理步骤运行概念文档来注释它们。这甚至可以是导入前运行的脚本。


0
投票

你看过Doxygen吗?它对Word文件没有任何作用,但它是开源的,所以也许你可以自己添加这些功能。我非常喜欢它生成的文档,并且它非常轻量级,所以我将它包含在构建过​​程中以自动重新生成文档。


-1
投票

试试看看SandCastle吧。

© www.soinside.com 2019 - 2024. All rights reserved.