ホームページ  >  記事  >  バックエンド開発  >  PHPでOfficeファイルをPDFファイルに変換する方法

PHPでOfficeファイルをPDFファイルに変換する方法

藏色散人
藏色散人オリジナル
2020-07-31 09:42:434808ブラウズ

php office を pdf に変換する方法: 最初に「php.ini」ファイルを開き、次に dcom 拡張機能を有効にし、次に office コンポーネント サービスを構成し、最後にコード ファイルを実行して office ファイルを pdf に変換します。 。

PHPでOfficeファイルをPDFファイルに変換する方法

おすすめ: 「PHP ビデオ チュートリアル

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 コンポーネント サービスを構成します

.

このような操作はあと 2 つあります。 !

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     }

以上がPHPでOfficeファイルをPDFファイルに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。