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

问题描述:

我有用户在我的网页上上传Word文档。我需要打开这些文档,以html格式显示它们,并允许用户下载操作版本。使用php或ruby操作linux文档(doc,docx等)

我的网络服务器允许我使用PHP和Rails。所以两种语言的解决方案都是可以接受的。

我在我的研究中发现了很多其他的帖子,例如LiveDocx,它似乎更适合用已知模板创建word文档。和我的web服务器不支持的Java POI。 我也发现了关于docx的信息,以便我可以将它解压缩并调整xml文件 - 除非我想单独接受比docx更多的扩展名,否则这很好。

这是我最后一次试图找到解决这个问题的另一种解决方案。有什么建议么?我只需要切换到Windows服务器? (甚至与Windows服务器,我可以做我想做什么?)

+0

您需要如何操作文档?您的网络服务器是否允许安装新的应用程序(即,您是否拥有对服务器的root用户访问权限,或者是否会为您执行此操作的灵活管理员)? –

你不是说你需要应用什么样的操作,也不知道你是否可以在服务器上安装任何新的东西,但是如果可以的话,你可以安装OpenOffice(或@Rok指出的Libreoffice)并访问它从你的脚本通过命令行。

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

你可以在转换的HTML视图中显示的文件,或者如果不工作(我想这将打破很多内部复杂的文件,如果它在所有工作!),嵌入在iframe一个PDF,这应该是一样的。

这个OpenOffice.org Forum entry提供了一些起点。

编辑:如果您无法安装任何软件,则有第三方网站服务可以进行转换,大多数收费。 Here就是一个例子。

+0

我无法在服务器上安装任何东西作为共享主机。我需要对文档中的某些句子进行简单的字符串操作。即用新文本替换文本。 –

+1

@Stephen有外部网络服务提供这种服务 - 收费的服务,以及您从PHP脚本发送文件的服务。然后有一个自己托管的产品声称可以完成这项工作:http://www.phpdocx.com/但它不是免费的,它们没有提供试用版本,并且老实说我不相信他们可以做他们自称的东西(无需使用Web服务即可从Word文档生成PDF)。所以第三方服务是唯一的方法来做到这一点我认为 –

+0

非常感谢,我正在看第三方的。 –

我会做这样的:

  1. 服务器与PHP或红宝石
  2. 呼叫LibreOffice的Python脚本上安装的LibreOffice

而不要切换到Windows,它不会使问题更容易。