在PHP中将PPTX或PPT文件转换为PDF

时间:2017-04-26 05:55:49

标签: php wordpress

任何用于将PPTX或PPT文件转换为PDF格式的文件或API,或者用于PPTX或PPT转换为PDF文件转换的wordpress中的任何插件。

2 个答案:

答案 0 :(得分:1)

我一直在寻找相同的东西,没有使用任何第三方API。 为此,您需要在服务器/系统上安装libreoffice和unoconv。

注意:我正在为CentOS编写步骤,但是您可以在Google上搜索其他系统的替代命令

以下是步骤:

  1. 首先使用shell /终端在系统上安装libreoffice和unoconv

    yum install libreoffice-headless unoconv
    
  2. 如果yum未找到unoconv,请直接从rpmfind.net下载并安装它:

    rpm -ivh unoconv*
    
  3. 如果unoconv需要libreoffice-writer / calc / etc,请首先执行此操作:

    yum install libreoffice
    
  4. 最后,重新启动服务器:

    reboot
    
  5. 这是将PPT文件转换为PDF的示例,您可以替换:

    unoconv -f pdf slide.pptx
    
  6. 如果要通过PHP运行命令,请使用:phpseclib

    $command = "unoconv -f pdf /home/username/public_html/slide.pptx";
    
    $ssh->exec($command);
    
  7. 或者,您可以使用libreoffice从shell进行转换:

    libreoffice –headless –invisible –convert-to pdf sample.doc
    
  8. 在服务器上安装libreoffice之后,您可以使用此PHP Wrapper for LibreOffice将文件轻松转换为pdf / html。我已经对其进行了测试,并且效果很好。

  9. 最后,如果要将pdf转换为jpg,可以使用imagick class

感谢,感谢:PDF DOCUMENT CONVERSION IN CENTOS 7 USING UNOCONV AND LIBREOFFICE

答案 1 :(得分:0)

假设您在* nix系统上安装了libreoffice,您可以运行命令将文件转换为pdf:

<?php
  shell_exec('libreoffice --headless -convert-to pdf --outdir /tmp/converts/ /tmp/phpNWUB82bdw8');
?>

如果要将所有文件路径直接插入命令以防止命令注入,请务必创建转换输出目录并清理所有文件路径。