COM OpenOffice初始化错误


COM OpenOffice initialisation error

我在php中编码,通过COM与OpenOffice通信时遇到了问题。由于似乎什么都不起作用,我已经放弃了几次尝试在服务器端执行一些OpenOffice技巧的尝试。我已经接受了在当地做这件事,并发现了一些大多数人似乎都认为很有挑战性的事情——尽管我很惊讶,但对我来说并不是。归根结底,这个命令不起作用。

$osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed.'n");

你能给我一些建议吗。我已经下载了最新的OpenOffice,当它从Windows桌面上运行时效果很好,但这就是它的极限。你能告诉我使用php中的上述代码需要什么吗。目前,我停顿了很长时间,然后出现了一个错误,说COM对象无法初始化或类似的情况——无论是在本地还是在我的网站上运行时,都会发生这种情况。

在哪里/如何查看com.sun.star.moon.etc是否已在我的系统上注册并准备好等待调用?需要哪些权限(这意味着什么,我如何将它们更改为需要的权限)?我在windows中发现一个名为COM+的服务没有运行并启动了它,但它没有帮助。

任何人——请帮忙!

提前谢谢。

几个建议:

1) 请确保您仅在Windows中尝试该代码。

2) 为了能够使用PHP COM类,您首先需要在PHP.ini中启用它。因此,添加此行扩展名=PHP_COM_dotnet.dll,然后重新启动Apache或IIS。

3) 在运行代码(脚本)的同一台计算机上安装OpenOffice。这是为了让事情变得更简单。您可能必须使用dcomcnfg设置权限。

试图回答您的一些问题:

1) 若要获取COM对象的列表并设置权限,请运行dcomcnfg。打开"组件服务"窗口后,单击控制台根目录->组件服务->计算机->我的计算机->DCOM配置。有关详细信息,请参阅此URL:https://technet.microsoft.com/en-us/library/Bb633148.aspx