在linux中使用php或ruby操作word文档(doc, docx等)


Manipulating word docs (doc, docx, etc) in linux with php or ruby

我有用户在我的网页上上传word文档。我需要打开这些文档,以html格式显示它们,并允许用户下载经过修改的版本。

我的服务器允许我使用PHP和Rails。因此,任何一种语言的解决方案都是可以接受的。

我在我的研究中发现了许多其他的帖子,比如LiveDocx,它似乎更倾向于用已知的模板创建word文档。和Java POI是不支持我的网络服务器。我还找到了关于docx的信息,这样我就可以解压缩它并调整xml文件——这将是伟大的,除了我想接受更多的扩展,而不仅仅是docx。

这是我为这个问题找到另一个解决方案的最后尝试。有什么建议吗?难道我必须换一台windows服务器吗?(即使使用windows服务器,我也可以做我想做的吗?)

您并没有说您需要应用哪种操作,也没有说您是否可以在服务器上安装任何新的操作,但如果可以,您可以安装OpenOffice(或@Rok指出的Libreoffice)并通过命令行从脚本访问它。

OoO可以转换各种办公格式,包括过去和现在的微软办公格式,PDF和HTML,我认为是这种工作最好的工具。

您可以在转换后的HTML视图中显示文档,或者如果这不起作用(我想象它会在复杂的文档中打破许多,如果它能工作的话!),在iframe中嵌入PDF,这应该也是一样的。

这个OpenOffice.org论坛条目提供了一些起点。

编辑:如果你不能安装任何软件,有第三方网络服务可以做转换,大多数是收费的。下面是一个例子:

我会这样做:

  1. 在服务器上安装libreoffice
  2. 使用php或ruby调用liboffice python脚本

不要切换到windows,这不会使问题变得更容易。