0

我正在编写一个修改word文档的程序。目前我已经使用 Microsoft.Office,Interop.Word 来处理 Word 文档,它需要在用户计算机上安装 Microsoft Office,但我的一些客户没有 MS Office,但他们有 Open Office。那么,我应该使用哪个库而不是 Interop?

以及如何使我的代码能够处理不同的 word 文件,不仅是 .doc 和 .docx,还包括其他办公程序文件?目前我正在为每种类型的文档编写不同的代码..

我的程序将文档从其原始语言翻译成另一种语言,因此将文档的格式保持为原始格式对我来说非常重要,这就是我使用 Interop 的原因。但我也希望我的程序对尽可能多的人有用尽可能

4

3 回答 3

3

我认为您没有提及,但是您是否假设所有客户都使用相同版本的 Office。要解决 Office 版本的问题,您可能需要查看这个开源项目:NetOffice http://netoffice.codeplex.com/并使用该库进行所有 .doc 和 .docx 文件格式的开发。

对于 OpenOffice 或 LibreOffice,我相信您能做的最好的事情就是进入项目网站并下载 SDK。例如,去这里:http ://api.libreoffice.org/examples/examples.html ,你会发现一些用 Java、Python、C++ 编辑文本文档的例子,包括 odt 文件。

LibreOffice SDK 在这里下载:http ://www.libreoffice.org/download/

最后,还有 OpenXML 格式(在另一个答案中提到),它是:ECMA Office Open XML(“Open XML”)是一种用于文字处理文档、演示文稿和电子表格的国际开放标准,可以由以下人员自由实施多个平台上的多个应用程序。

您还可以在这里下载它的 SDK:http: //msdn.microsoft.com/en-us/office/bb265236.aspx

希望有帮助。

于 2013-01-30T19:01:38.640 回答
1

您最终可能会编写单独的代码来处理每种文件类型。例如,Office 产品内部可能有一些相似之处,但在大多数情况下,您需要为每种类型 配备一个适配器。

但是,您可以(并且应该)通过将翻译逻辑和其他非特定于类型的函数放置在每个适配器随后将引用的共享库中来最小化重复代码的数量。

于 2013-01-30T18:49:13.990 回答
0

我们使用aspose words。这支持 DOC、DOCX、RTF 和 OOXML。但它不是免费的。

于 2013-01-31T11:18:14.980 回答