繁体   English   中英

使用户能够在.NET应用程序中编辑Word 97-2010文档

[英]Give users the ability to edit Word 97-2010 documents within a .NET application

我想知道是否有人对任何产品/方法有任何想法,以便使我的最终用户能够在我们的C#/。NET应用程序中编辑Word文档,避免使用自动化和在应用程序外部打开Word的单独实例。 这是一种[备份计划!]的可能性-但我宁愿不必实施(由于涉及的工作量很大,并且用户退出了我们的应用程序)。

我知道我可以使用WebBrowser控件-但从我发现的内容来看-对此的支持充其量只是粗略的,并且不存在诸如工具栏之类的东西,并且它似乎不适用于Word 2010无论如何。

我一直在评估一些声称可以做到这一点的产品,但是许多产品缺少功能或在文档中产生兼容性错误,导致在Word中打开时无用。

我们正在使用Word 2003和Word2010。通过自定义合并/模板过程,我们的文档以.DOCX文件开头。

对产品或其他想法的任何建议都很好。

  • 编辑:我们正在使用OpenXML创建文档而没有问题。 好玩的东西,效果很好。 但是,最终,我希望用户直接在.NET应用程序中编辑创建的文档以及旧文档(以.DOC文件创建)。 不幸的是,随着Microsoft删除了通过ActiveX / OLE等进行嵌入的功能,因此没有办法。 我正在寻找实现此目标的第三方产品,该产品实际上应与.DOC和.DOCX格式100%兼容。

对于那些问为什么? 安全性,易用性等。我们将文档存储在数据库中。 一旦我开始将文件拖放到文件系统上并与Automation support / macros一起使用,...要做很多事情就必须将文件放回到数据库/更新等中。由于Word,这变得特别困难不会公开文档的原始字节[],并且文件必须作为临时文件保存在fs上的某个位置。 只是很多头痛。

因此,“最简单”的解决方案-嵌入Word [似乎不可能]或使用支持编辑.DOC / .DOCX文件的第三方产品。

一个示例是DevExpress XtraRichEdit控件-不幸的是,尽管它支持许多不错的与Word相似/兼容的功能,但它仅适用于.DOCX文件。与Word相比,它并不是100%完整的功能。

Word文档的文件结构非常庞大,即使对有限的.doc / docx支持进行编程也可能需要数百个工时。 使用程序在单词本身上编辑单词文件的确切原因是什么?

我不确定Word 2003如何支持.docx,但我的理解是Office 2007发行时只有一个Word Viewer发行,这当然已经有很多年了。

如果实际上要执行此操作,则仅会增加对.doc文件的支持,因为那里有更多信息,您可以根据需要允许word本身处理与.docx文件的对话。

过去通过称为OLE嵌入的功能来支持此功能。 在过去的十年中,对它的支持已从Microsoft软件和工具中消失。 显然,.NET对此不提供任何支持。 Office是2007年的最后支持者之一。 但这确实在2010年版中看起来完全是个奇闻趣事。 DSOFramer控件(通用的ActiveX嵌入控件)的所有下载链接都在2010年进入测试版时被删除。

这里没有未来,请看VSTO的未来之路。

您不会找到可以做到这一点的第三方产品。 构建100%支持Word格式的应用程序所需的工作量不在考虑之列。 不仅每个功能,而且每个错误都必须被复制。 考虑到这样做的潜在法律隐患,在他们的正确思维中没有人会费心尝试。 顺便说一下,法律方面是采用新格式的主要原因之一。

这意味着您必须去外部。 这里有两个非常好的选择。

一种方法是使用Office Live ,使他们能够在线编辑Microsoft Documents。

另一种可能性是仅在应用程序中利用Sharepoint 它具有用于文档工作流的内置方法,并且可以与Office很好地集成。

第三种可能性是编写您自己的单词插件,该插件将帮助您从系统中保存/加载文档。 在走这条路线之前,我会先使用上面的前两个。

Word自动化服务Office Web Apps (需要SP 2010)。

当然不是100%涵盖Word功能,但是您是否尝试过ASPOSE.Words.NET Total或TXTextControl.NET

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM