zoukankan      html  css  js  c++  java
  • windows环境下 php 将office文件(word/excel/ppt)转化为pdf

    将office文件转化为pdf的方法有

    1.利用openoffice提供的服务 (比较简单,但是转化的效果不太好)

    2.使用office提供的服务 (注:这在windows服务器上,并且服务器上面安装了版本比较高的office)

    下面重点介绍利用office服务将office文件转化为pdf

    1.php开启dcom扩展

    打开php.ini,搜索php_com_dotnet和php_com_dotnet:

    extension=php_com_dotnet.dll   //把前面的分号去掉

    com.allow_dcom = true  //改为true

    重启apache

    2.配置office组件服务

    .

    像这样的操作还有两个!!

     3.下面就该介绍将office文件转化为pdf的代码了

    (1)ppt转pdf代码

     1 public function ppt_to_pdf() {
     2         $srcfilename = 'E:/aa.ppt';
     3         $destfilename = 'E:/aa.pdf';
     4         try {
     5             if(!file_exists($srcfilename)){
     6                 return;
     7             }
     8             $ppt = new COM("powerpoint.application") or die("Unable to instantiate Powerpoint");
     9             $presentation = $ppt->Presentations->Open($srcfilename, false, false, false);
    10             $presentation->SaveAs($destfilename,32,1);
    11             $presentation->Close();
    12             $ppt->Quit();
    13         } catch (Exception $e) {
    14             if (method_exists($ppt, "Quit")){
    15                 $ppt->Quit();
    16             }
    17             return;
    18         }
    19     }

    (2)excel转pdf代码

     1     public function excel_to_pdf() {
     2         $srcfilename = 'E:/aa.xls';
     3         $destfilename = 'E:/aa.pdf';
     4         try {
     5             if(!file_exists($srcfilename)){
     6                 return;
     7             }
     8             $excel = new COM("excel.application") or die("Unable to instantiate excel");
     9             $workbook = $excel->Workbooks->Open($srcfilename, null, false, null, "1", "1", true);
    10             $workbook->ExportAsFixedFormat(0, $destfilename);
    11             $workbook->Close();
    12             $excel->Quit();
    13         } catch (Exception $e) {
    14              echo ("src:$srcfilename catch exception:" . $e->__toString());
    15             if (method_exists($excel, "Quit")){
    16                 $excel->Quit();
    17             }
    18             return;
    19         }
    20     }

    (3)word转pdf代码(其他的文本格式的文件也可以使用这个,例:txt文件)

     1     public function doc_to_pdf() {
     2         $srcfilename = 'E:/aa.doc';
     3         $destfilename = 'E:/aa.pdf';
     4         try {
     5             if(!file_exists($srcfilename)){
     6                 return;
     7             }
     8 
     9             $word = new COM("word.application") or die("Can't start Word!");
    10             $word->Visible=0;
    11             $word->Documents->Open($srcfilename, false, false, false, "1", "1", true);
    12            
    13             $word->ActiveDocument->final = false;
    14             $word->ActiveDocument->Saved = true;
    15             $word->ActiveDocument->ExportAsFixedFormat(
    16                 $destfilename,
    17                 17,                         // wdExportFormatPDF
    18                 false,                      // open file after export
    19                 0,                          // wdExportOptimizeForPrint
    20                 3,                          // wdExportFromTo
    21                 1,                          // begin page
    22                 5000,                       // end page
    23                 7,                          // wdExportDocumentWithMarkup
    24                 true,                       // IncludeDocProps
    25                 true,                       // KeepIRM
    26                 1                           // WdExportCreateBookmarks
    27             );
    28             $word->ActiveDocument->Close();
    29             $word->Quit();
    30         } catch (Exception $e) {
    31             if (method_exists($word, "Quit")){
    32                 $word->Quit();
    33             }
    34             return;
    35         }
    36     }

    注:本文参考地址:http://blog.csdn.net/sangjinchao/article/details/78053545,如需转载请注明出处:https://www.cnblogs.com/zhuchenglin/p/7586170.html

  • 相关阅读:
    MySQL补充
    不同操作系统下虚拟环境的搭建
    Python导学基础(二)变量与基础数据类型
    Python导学基础(一)介绍
    KM 算法
    题解-CF1065E Side Transmutations
    题解-CF1140E Palindrome-less Arrays
    题解-CF677D Vanya and Treasure
    splay文艺平衡树
    splay区间操作(bzoj1500)
  • 原文地址:https://www.cnblogs.com/zhuchenglin/p/7586170.html
Copyright © 2011-2022 走看看