使用PHP将PPTX转换为PDF

时间:2018-10-24 08:45:52

标签: php pdf powerpoint

我正在用PHP开发一个API,该API托管在Linux服务器上,要求我为.pptx powerpoint演示文稿制作jpeg预览。

我首先将文件转换为pdf,然后将pdf转换为jpeg。 第二步很简单,有了ghostscript,这是第一步,很困难。

  • 我尝试使用libreoffice可执行文件,但pptx并不完全兼容。某些背景不可见。

  • 许多第三方API(我怀疑也使用libreoffice)存在相同的问题;那些有效的工具,价格昂贵。

  • 在Linux服务器上安装Office并使用COM功能似乎是不可能的,或者充其量是乏味的。

  • 我看过Aspose.Slides,它看起来也很昂贵,而且其文档中充满了错误。

我可以就如何解决这个问题提出建议。

2 个答案:

答案 0 :(得分:0)

我试图找到潜在的问题,为什么LibreOffice和在线转换工具对我需要转换的演示文稿的背景有问题。 背景是.emf文件,支持不佳。

我的解决方案

我已经解压缩了演示文稿,将.emf文件转换为png(使用ghostscript),将XML中所有对.emf的提及都更改为.png,并重新压缩了更改后的演示文稿。

当我现在使用无头LibreOffice转换为pdf时,就会显示背景。

可能有点 hacky ,但是它可以满足我程序的意图。


ps。我看到我的问题引起了一些反对。在我看来,这是一个有效的问题,并列出了对其他人有用但对我无效的各种解决方案。如果有人有见识或改进的见解,请随时发表评论。

答案 1 :(得分:0)

我正在Aspose担任开发人员推广员。
根据您的反馈,我已经检查了Aspose.Slides for PHP的文档页面。 感谢您的有效投诉,我们将努力改进文档并修复错误。 很抱歉您遇到了Aspose.Slides for PHP文档页面中的错误。

关于使用PHP将pptx转换为pdf到jpeg的问题:

  1. 请在Aspose.Slides GitHub上查看此可运行示例,该示例演示了如何将pptx转换为pdf:
    https://github.com/aspose-slides/Aspose.Slides-for-Java/blob/master/Plugins/Aspose_Slides_Java_for_PHP/src/aspose/slides/WorkingWithPresentation/ConvertingToPdf.php

  2. 此外,Aspose.Slides可让您立即将pptx转换为jpeg。
    您可以在我们的论坛中找到相关的讨论和可运行的示例:
    https://forum.aspose.com/t/aspose-slides-for-php/9793/4