我正在用PHP开发一个API,该API托管在Linux服务器上,要求我为.pptx powerpoint演示文稿制作jpeg预览。
我首先将文件转换为pdf,然后将pdf转换为jpeg。 第二步很简单,有了ghostscript,这是第一步,很困难。
我尝试使用libreoffice可执行文件,但pptx并不完全兼容。某些背景不可见。
许多第三方API(我怀疑也使用libreoffice)存在相同的问题;那些有效的工具,价格昂贵。
在Linux服务器上安装Office并使用COM功能似乎是不可能的,或者充其量是乏味的。
我看过Aspose.Slides,它看起来也很昂贵,而且其文档中充满了错误。
我可以就如何解决这个问题提出建议。
答案 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的问题:
请在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
此外,Aspose.Slides可让您立即将pptx转换为jpeg。
您可以在我们的论坛中找到相关的讨论和可运行的示例:
https://forum.aspose.com/t/aspose-slides-for-php/9793/4