[英]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文件开头。
对产品或其他想法的任何建议都很好。
对于那些问为什么? 安全性,易用性等。我们将文档存储在数据库中。 一旦我开始将文件拖放到文件系统上并与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.