欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          php怎么將work轉(zhuǎn)為pdf

          方法:1、打開(kāi)php.ini文件,添加“extension=php_com_dotnet.dll”代碼,去掉“com.allow_dcom=true”前的“;”;2、配置office支持;3、利用PDFConverter類中的方法進(jìn)行轉(zhuǎn)換。

          php怎么將work轉(zhuǎn)為pdf

          本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

          一、配置PHP擴(kuò)展

          如果是 PHP5.4 以前的版本,需要在 php.ini 里把 com.allow_dcom = true 打開(kāi)(即去掉前面的分號(hào))。

          如果是 PHP5.4 之后的版本,則要在 php.ini 里增加一行擴(kuò)展 extension = php_com_dotnet.dll 。

          重啟 Apache 或 IIS 服務(wù)器,打印 phpinfo() 信息,檢查 com_dotnet 擴(kuò)展是開(kāi)啟。

          php怎么將work轉(zhuǎn)為pdf

          ↑ 檢查 php 的 ext 目錄中 是否存在 com_dotnet.dll 文件,如果沒(méi)有請(qǐng)自行下載對(duì)應(yīng)版本的 dll

          二、配置office支持

          OpenOffice 是一套開(kāi)源跨平臺(tái)的辦公軟件,由許多自由軟件人士共同來(lái)維持,讓大家能在 Microsoft Office 之外,還能有免費(fèi)的 Office 可以使用。

          OpenOffice 與微軟的辦公軟件套件兼容,能將 doc、xls、ppt 等文件轉(zhuǎn)換為 PDF 格式,其功能絕對(duì)不比 Microsoft Office 差。

          OpenOffice 官網(wǎng):http://www.openoffice.org/

          OpenOffice 下載:http://www.openoffice.org/download/index.html

          php怎么將work轉(zhuǎn)為pdf

          OpenOffice 需要 java 支持,請(qǐng)確認(rèn)安裝了 JDK,并配置了 JRE 環(huán)境變量。

          1. 配置組件服務(wù)

          OpenOffice 安裝完成之后,按 win+R 快捷鍵進(jìn)入運(yùn)行菜單,輸入 Dcomcnfg 打開(kāi)組件服務(wù)。

          [組件服務(wù)] >> [計(jì)算機(jī)] >> [我的電腦] >> [DCOM配置] >> [OpenOffice Service Manager]

          php怎么將work轉(zhuǎn)為pdf

          右鍵打開(kāi)屬性面板,選擇安全選項(xiàng)卡,分別在 啟動(dòng)和激活權(quán)限訪問(wèn)權(quán)限 上勾選自定義,添加 Everyone 的權(quán)限。

          php怎么將work轉(zhuǎn)為pdf

          ↑ 啟動(dòng)和激活權(quán)限 和 訪問(wèn)權(quán)限 都使用自定義配置

          php怎么將work轉(zhuǎn)為pdf

          ↑ 添加 Everyone 用戶組,記得確認(rèn)前先檢查名稱

          php怎么將work轉(zhuǎn)為pdf

          ↑ 兩個(gè)自定義配置相同,允許 Everyone 擁有所有權(quán)限

          再選擇標(biāo)識(shí)選項(xiàng)卡,勾選 交互式用戶,保存設(shè)置后退出。

          php怎么將work轉(zhuǎn)為pdf

          2. 后臺(tái)運(yùn)行軟件

          安裝完 OpenOffice 后,需要啟動(dòng)一次確認(rèn)軟件可以正常運(yùn)行,然后再打開(kāi)命令行運(yùn)行以下命令:

          切換到安裝目錄: cd C:Program FilesOpenOffice 4program

          后臺(tái)運(yùn)行該軟件: soffice -headless-accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

          PS:該命令只需要執(zhí)行一次,就可以使軟件一直在后臺(tái)運(yùn)行,即使重啟服務(wù)器也不受影響。

          三、實(shí)現(xiàn)文件轉(zhuǎn)換

          PDF 轉(zhuǎn)換工具(支持 doc, docx, xls, xlsx, ppt, pptx 等格式)

          class PDFConverter {    private $com;    /**      * need to install openoffice and run in the background      * soffice -headless-accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard     */     public function __construct()     {        try {            $this->com = new COM('com.sun.star.ServiceManager');         } catch (Exception $e) {            die('Please be sure that OpenOffice.org is installed.');         }     }    /**      * Execute PDF file(absolute path) conversion      * @param $source [source file]      * @param $export [export file]     */     public function execute($source, $export)     {        $source = 'file:///' . str_replace('\', '/', $source);        $export = 'file:///' . str_replace('\', '/', $export);        $this->convertProcess($source, $export);     }    /**      * Get the PDF pages      * @param $pdf_path [absolute path]      * @return int     */     public function getPages($pdf_path)     {        if (!file_exists($pdf_path)) return 0;        if (!is_readable($pdf_path)) return 0;        if ($fp = fopen($pdf_path, 'r')) {            $page = 0;            while (!feof($fp)) {                $line = fgets($fp, 255);                if (preg_match('//Count [0-9]+/', $line, $matches)) {                    preg_match('/[0-9]+/', $matches[0], $matches2);                    $page = ($page < $matches2[0]) ? $matches2[0] : $page;                 }             }            fclose($fp);            return $page;         }        return 0;     }    private function setProperty($name, $value)     {        $struct = $this->com->Bridge_GetStruct('com.sun.star.beans.PropertyValue');        $struct->Name = $name;        $struct->Value = $value;        return $struct;     }    private function convertProcess($source, $export)     {        $desktop_args = array($this->setProperty('Hidden', true));        $desktop = $this->com->createInstance('com.sun.star.frame.Desktop');        $export_args = array($this->setProperty('FilterName', 'writer_pdf_Export'));        $program = $desktop->loadComponentFromURL($source, '_blank', 0, $desktop_args);        $program->storeToURL($export, $export_args);        $program->close(true);     } }

          使用 PDFConverter(必須傳入絕對(duì)路徑)

          $arr = array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx');  $converter = new PDFConverter();  foreach ($arr as $ext) {     $source = __DIR__ . '/office/test.' . $ext;     $export = __DIR__ . '/pdf/test.' . $ext . '.pdf';     $converter->execute($source, $export);     echo '<p>' . $ext . ' Done</p>'; }

          推薦學(xué)習(xí):《PHP視頻教程》

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)