在apache服务器上使用PHP将ppt/pptx转换为JPG/PNG

在apache服务器上使用PHP将ppt/pptx转换为JPG/PNG,php,image,powerpoint,Php,Image,Powerpoint,有人知道在apache服务器上使用PHP将ppt/pptx幻灯片转换为服务器上的图像的方法吗 据我所知,一种方法是在服务器上安装microsoft powerpoint(或者openoffice?),以便将powerpoint保存为图像 您将如何在服务器上安装它 如果无法在服务器上安装程序怎么办 我见过COM类用来在本地机器上打开应用程序并将ppt/pptx保存为图像。。。但在远程计算机上,COM类不存在 任何帮助/线索都将不胜感激 编辑: 我看到COM类是一个仅限Windows的扩展。。。那么

有人知道在apache服务器上使用PHP将ppt/pptx幻灯片转换为服务器上的图像的方法吗

据我所知,一种方法是在服务器上安装microsoft powerpoint(或者openoffice?),以便将powerpoint保存为图像

您将如何在服务器上安装它

如果无法在服务器上安装程序怎么办

我见过COM类用来在本地机器上打开应用程序并将ppt/pptx保存为图像。。。但在远程计算机上,COM类不存在

任何帮助/线索都将不胜感激

编辑:

我看到COM类是一个仅限Windows的扩展。。。那么还有什么其他的方法呢


再次感谢

OpenOffice支持一个名为UNO的编程接口,可以使用扩展从PHP调用该接口,它可以在Windows或Linux(但不是Mac)服务器中使用


它确实需要在服务器上安装OpenOffice,启用Java支持并在TCP/IP套接字上侦听。由于这不是默认配置,因此需要进行一些设置。您还必须下载PUNO并将其添加到您的PHP配置中。

从PHP中的幻灯片中获取图像可能会像Mark Baker所描述的那样非常痛苦,但是,如果您现在使用一些VBA,您可以非常简单地制作一个VBA marco以将每张幻灯片导出到jpg。比起一次上传所有的jpg,我觉得这是一个更容易的解决办法,因为这并不是你想要的。只是我的两种感觉

下面是一个VBA示例:

服务器是Amazon EC2实例,因此在大多数情况下,它是唯一的CLI

我所做的是:

我已经安装了用于在PHP中使用
exec()
将文档转换为PDF的程序


在此基础上,我还使用ghostscript(已安装在服务器上)从生成的PDF中提取图像,方法是使用
exec()

您可以使用以下库API将ppt文件转换为jpg

require __DIR__ . '/../lib/ConvertApi/autoload.php';

use \ConvertApi\ConvertApi;    ConvertApi::setApiSecret(CONVERT_API_SECRET);
    $result = ConvertApi::convert('jpg', [
            'File' => '/path/to/ppt',
        ], 'pptx'
    );
    $result->saveFiles('/path/to/result/dir');