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

时间:2013-04-10 20:44:16

标签: php image powerpoint

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

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

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

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

我已经看到COM类用于在本地计算机上打开应用程序并将ppt / pptx保存为图像...但是在远程计算机上,COM类不存在。

非常感谢任何帮助/潜在客户!

编辑:

我看到COM类是Windows Only扩展......那么还有其他什么方法呢?

再次感谢!

4 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:2)

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

我所做的是:

我已安装Libreoffice (headless),用于在PHP中使用exec()将文档转换为PDF格式。

从那里我使用ghostscript(已安装在服务器上)也使用exec()从生成的PDF中提取图像。

答案 2 :(得分:1)

您可以使用以下库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');

Convert PPT to JPG

答案 3 :(得分:0)

正如马克·贝克所描述的那样,从幻灯片中获取幻灯片中的图像可能会非常痛苦,但是如果你现在有些VBA,你可以简单地制作一个vba marco来将每个幻灯片导出到jpg。而不是一次性将jpg全部上传到我身上似乎是一个更容易解决的问题,ofcaurse这不是你想要的。只是我的两个感觉。

这是一个VBA示例: http://vbadud.blogspot.nl/2009/05/save-powerpoint-slides-as-images-using.html