欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

PHP網(wǎng)站開發(fā)之將文檔轉(zhuǎn)換成pdf文件(php動態(tài)網(wǎng)站開發(fā)的課后答案)

2023-12-22    分類: 網(wǎng)站建設(shè)

本文介紹的是在Windows系統(tǒng)環(huán)境下進行的PHP將text、excl、word等等文檔格式轉(zhuǎn)換成pdf文件格式
第一步:檢查是當時的php是否開啟對dcom擴展
打開php.ini,搜索php_com_dotnet和php_com_dotnet:
extension=php_com_dotnet.dll   //把前面的分號去掉
com.allow_dcom = true  //改為true
然后輸出下phpinfo()
看看有沒有com_dotnet
COM support enabled
DCOM support enabled
.Net support       enabled
表示COM組件開啟成功
所需要的工具openoffice安裝openoffice軟件
在openoffice安裝成功之后,需要在安裝目錄下porgram文件下打開cmd命令行輸入
cd  /d  d:\openoffice\program
具體看你所安裝的具體文件位置
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
配置openoffice服務啟動和激活權(quán)限具體可以百度 這里不做介紹
下面就是代碼介紹
<?php
class  OpenOffice{
     private $osm;

    // 構(gòu)造函數(shù),啟用OpenOffice的COM組件
    public function __construct(){
        ini_set('magic_quotes_runtime', 0); // 設(shè)置運行時間
        $this->osm = new COM("com.sun.star.ServiceManager") or die("Please be sure that OpenOffice.org is installed.n");
    }
        private function MakePropertyValue($name, $value){
        $oStruct = $this->osm->Bridge_GetStruct("com.sun.star.beans.PropertyValue");
        $oStruct->Name = $name;
        $oStruct->Value = $value;
          return $oStruct;
    }

    private function transform($input_url, $output_url){
        $args = array($this->MakePropertyValue('Hidden', true));
        $oDesktop = $this->osm->createInstance("com.sun.star.frame.Desktop");

        $oWriterDoc = $oDesktop->loadComponentFromURL($input_url, '_blank', 0, $args);
        $export_args = array($this->MakePropertyValue('FilterName', 'writer_pdf_Export'));
        $oWriterDoc->storeToURL($output_url, $export_args);
        $oWriterDoc->close(true);
        return $this->getPdfPages($output_url);
    }

    /**
     * getPdfPages 獲取PDF文件頁數(shù)的函數(shù)獲取,文件應當對當前用戶可讀(linux下)
     * @param  string $path 文件路徑
     * @return int
     */
      private function getPdfPages($path = ''){
          if(!file_exists($path)) return 0;
          if(!is_readable($path)) return 0;
          $fp=@fopen($path, "r"); // 打開文件
          if(!$fp){
              return 0;
          }else{
              $max = 0;
              while(!feof($fp)){
                  $line = fgets($fp,255);
                  if(preg_match('/\/Count [0-9]+/', $line, $matches)){
                      preg_match('/[0-9]+/', $matches[0], $matches2);
                      if ($max<$matches2[0]) $max = $matches2[0];
                  }
              }
              fclose($fp);
              return $max; // 返回頁數(shù)
          }
      }

      /**
       * office文件轉(zhuǎn)換pdf格式
       * @param  string $input  需要轉(zhuǎn)換的文件
       * @param  string $output 轉(zhuǎn)換后的pdf文件
       * @return return string 頁數(shù)
       */
      public function run($input = '', $output = ''){
          if(empty($input) || empty($output)){
               return '參數(shù)錯誤';
          }
          $input = "file:///" . str_replace("\\", "/", $input);
          $output = "file:///" . str_replace("\\", "/", $output);
          //dump($input);
          //dump($output);exit;
          // 測試文檔$input='file:///C:/wamp/www/br/Uploads/Temp/files/20181023/5bcf3e022d9ff.txt';
           // 測試文檔$output='file:///C:/wamp/www/br/Uploads/Temp/files/20181023/5bcf3e022d9ff.pdf';
          return $this->transform($input, $output);
      }

 }
調(diào)用
 function topdf(){
   import('org.Util.OpenOffice');

   $file_url =$res['file_url'];     //原文件
   $file_dir = 'E:/wamp/www'.;        //下載文件存放目錄
   $file_info=pathinfo($file_url);
   $doc_file = $file_dir . $file_url;
   $pdf_file=$file_dir.$file_info['dirname'].'/'.$file_info['filename'].'.pdf';//轉(zhuǎn)換后的pdf名
   //dump($pdf_file);
   //dump($file_info);exit;
    $open=new \OpenOffice();
   // $open->run($doc_file,$pdf_file);
    $res=$open->run($doc_file,$pdf_file);
     dump($res);
   }

基本上完成,開發(fā)中遇到的問題主要有
Openoffice 服務沒有開啟;
文件沒有找到路徑問題,要絕對路徑
COM組件沒有開啟。注意開啟在window系統(tǒng)下Openoffice開啟后會很占內(nèi)存,服務器配置要高一點不然就卡死
 

以上就是關(guān)于PHP網(wǎng)站開發(fā)之將文檔轉(zhuǎn)換成pdf文件(php動態(tài)網(wǎng)站開發(fā)的課后答案),希望對你有幫助,更多內(nèi)容關(guān)注創(chuàng)新互聯(lián)。

網(wǎng)站題目:PHP網(wǎng)站開發(fā)之將文檔轉(zhuǎn)換成pdf文件(php動態(tài)網(wǎng)站開發(fā)的課后答案)
路徑分享:http://chinadenli.net/news31/309731.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務器、關(guān)鍵詞優(yōu)化、商城網(wǎng)站、移動網(wǎng)站建設(shè)、網(wǎng)站維護、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司
亚洲少妇人妻一区二区| 91人妻久久精品一区二区三区 | 中文字幕高清免费日韩视频| 欧美有码黄片免费在线视频| 亚洲国产婷婷六月丁香| 国产又猛又黄又粗又爽无遮挡| 午夜色午夜视频之日本| 日本午夜精品视频在线观看| 国产在线一区二区免费| 免费特黄一级一区二区三区| 亚洲欧洲一区二区综合精品| 午夜小视频成人免费看| 国产三级黄片在线免费看| 欧美黑人精品一区二区在线| 成人精品日韩专区在线观看| 国产精品亚洲一级av第二区| 亚洲高清中文字幕一区二区三区| 中文字幕人妻综合一区二区| 国产精品刮毛视频不卡| 在线播放欧美精品一区| 小草少妇视频免费看视频| 麻豆欧美精品国产综合久久| 国产一级内片内射免费看| 少妇人妻精品一区二区三区| 欧美一区二区黑人在线| 日韩免费国产91在线| 天海翼精品久久中文字幕| 欧美日韩三区在线观看| 亚洲三级视频在线观看免费| 国产免费黄片一区二区| 91偷拍视频久久精品| 日韩中文字幕在线不卡一区| 国产成人精品视频一区二区三区| 亚洲最新一区二区三区| 国产精品久久男人的天堂| 国产大屁股喷水在线观看视频 | 美女露小粉嫩91精品久久久| 尹人大香蕉一级片免费看| 国产日韩精品激情在线观看| 中文字幕乱码免费人妻av| 最近中文字幕高清中文字幕无|