首頁  >  文章  >  後端開發  >  php如何將doc文件轉換為pdf文件

php如何將doc文件轉換為pdf文件

王林
王林原創
2020-09-28 09:48:104129瀏覽

php將doc檔案轉換成pdf檔的方法:1.編輯php.ini文件,加入【extension=php_com_dotnet.dll】;2、設定office元件服務;3、利用ExportAsFixedFormat函數轉換檔即可。

php如何將doc文件轉換為pdf文件

具體方法:

(推薦教學:php影片教學

1、修改php.ini

  • 新增:extension=php_com_dotnet.dll 

  • 移除註解:com.allow_dcom = true

  • #重啟環境

2、設定office支援

  • 安裝微軟office套件。 (office 2007 需手動安裝`Microsoft Save as PDF and XPS`)

  • 設定office元件服務

    win R開啟執行選單,輸入dcomcnfg 找到 [元件服務] —— [電腦]—— [我的電腦] —— [DCOM設定] —— [Microsoft Wrord 97-2003文件]右鍵[Microsoft Wrord 97-2003文件] 設定屬性[識別] 為[互動式使用者]

程式碼實作:

/**
 * @desc   xmsb_wordToPdf         将word转换为pdf
 * @param  string    $wordPath    word原文件路径
 * @param  string    $outPath     pdf输出路径
 * @return string
 */
function xmsb_wordToPdf($wordPath, $outPath)
{
    // 原文件不存在则返回错误
    if(!file_exists($wordPath)) 
    {
        return 'word原文件不存在';
    }
    
    // 输出目录不存在则创建目录
    if(!file_exists($tmpPath = rtrim($outPath, basename($outPath))))
    {
        mkdir($tmpPath, 0777, true);
    }
    
    $filenamedoc = dirname(__FILE__)."/".$wordPath;
    $filenamepdf = dirname(__FILE__)."/".$outPath;
    
    // 删除已有同名文件
    if(file_exists($filenamepdf)) 
    {
        unlink($filenamepdf);
    }
    
    // 执行转换操作
    $word = new COM("word.Application") or die("Could not initialise Object");
    $word->Documents->Open($filenamedoc);
    $word->ActiveDocument->ExportAsFixedFormat($filenamepdf, 17, false, 0, 0, 0, 0, 7, true, true, 2, true, true, false);
    $word->Quit(false);
    unset($word);
    
    // 在页面中显示生成的pdf
    // header('Content-type: application/pdf');
    // header('filename='.$filenamepdf);
    // readfile($filenamepdf);
    
    return '转换成功';
}

// 测试运行
echo xmsb_wordToPdf('./word/word1.docx', './pdf/output1.pdf');

相關推薦:php訓練

以上是php如何將doc文件轉換為pdf文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn