有没有办法编写一个适用于所有可能的办公文档的代码

本文关键字:有可能 适用于 代码 文档 一个 有没有 | 更新日期: 2023-09-27 17:56:55

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

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

我的程序将文档从其原始语言翻译成另一种语言,因此保持文档的格式为原始格式非常重要,这就是我使用Interop的原因。

有没有办法编写一个适用于所有可能的办公文档的代码

我想你没有提到,但是,你是否假设你的所有客户端都使用相同的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

希望有帮助。

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

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

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