• 技术文章 >后端开发 >PHP问题

    php office如何转 pdf

    藏色散人藏色散人2020-08-29 13:41:11原创713

    php office转pdf的方法:首先配置“php.ini”,并重启环境;然后配置office组件服务;接着在控制台根节点下,找到【wps……】,右键设置属性;最后编写程序实现转换即可。

    推荐:《PHP视频教程

    一、配置环境

    (1)配置php.ini

    添加:extension=php_com_dotnet.dll

    com.allow_dcom = true // 去掉号,改为true

    重启环境

    (2) 安装:WPS 专业版,或者 microsoft office 2010

    (microsoft office 2007 需要安装加载项:Microsoft Save as PDF)

    (3)配置office组件服务

    按 win+R 快捷键进入运行菜单,输入 Dcomcnfg

    找到: [组件服务] —— [计算机]—— [我的电脑] —— [DCOM配置] ——【wps……】或[Microsoft Wrord 97-2003文档]

    如果没找到【wps……】或(Microsoft Wrord 97-2003文档):

    按 win+R 快捷键进入运行菜单

    输入:mmc -32

    [文件]——[添加或删除管理单元]——[组件服务](从可用管理单元,添加到所选管理单元,点击:确定)

    添加完以后,在控制台根节点下,找到【wps……】或[Microsoft Wrord 97-2003文档],右键设置属性,设置“标识”为:交互式用户(还有安全里面的设置 可以看其他文章的设置)

    注:我开始 选择交互式用户 : 会出现 我登录远程服务器一切正常,如果退出远程服务器实例化组件就报错,最后选择了 下列用户,填写了管理员用户和密码才正常可用.

    二、编写程序


    <?php
    
    word2pdf(); function word2pdf()
    {    $filenamedoc = dirname(__FILE__)."/index.docx";    $filenamepdf = dirname(__FILE__)."/index.pdf";    $dd = $word = new COM("KWPS.Application") or die ("Could not initialise Object.");    // 或者 $dd = $word = new COM("Word.Application") or die ("Could not initialise Object.");
        // set it to 1 to see the MS Word window (the actual opening of the document)
        $word->Visible = 0;    // recommend to set to 0, disables alerts like "Do you want MS Word to be the default .. etc"
        $word->DisplayAlerts = 0;    // open the word 2007-2013 document
    
        $word->Documents->Open($filenamedoc);    // save it as word 2003
        // convert word 2007-2013 to PDF
    
        //判断要生成的文件名是否存在
        if(file_exists($filenamepdf)) {        //存在就删除
            unlink ($filenamepdf);
        }    $word->ActiveDocument->ExportAsFixedFormat($filenamepdf, 17, false, 0, 0, 0, 0, 7, true, true, 2, true, true, false);    // quit the Word process
        $word->Quit(false);    // clean up
        unset($word);    if(!function_exists('read_pdf')) {        header('Content-type: application/pdf');        header('filename='.$filenamepdf);        readfile($filenamepdf);
            read_pdf('Python_study.pdf');
        }    echo 'ok';
    }?>


    if(!function_exists('read_pdf')) {  function read_pdf($file) {    if(strtolower(substr(strrchr($file,'.'),1)) != 'pdf') {      echo '文件格式不对.';      return;
        }    if(!file_exists($file)) {      echo '文件不存在';      return;
        }    header('Content-type: application/pdf');    header('filename='.$file);    readfile($file);
      }
    }

    以上就是php office如何转 pdf的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php
    上一篇:如何解决php ie下载乱码的问题 下一篇:iis php无法解析怎么办
    大前端线上培训班

    相关文章推荐

    • 如何使用Laravel snappy生成PDF并集成到Laravel-admin• php fpdf 中文乱码怎么办• linux平台PHP实现word转pdf的方法• php如何实现openoffice转pdf

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网