在 PHP 中建立 PDF

WBOY
發布: 2024-02-28 10:18:01
轉載
1066 人瀏覽過

在 PHP 中建立 PDF 是一項非常有用的技能,可以幫助網站開發人員產生各種類型的動態 PDF 文件,例如發票、報告、憑證等。透過使用 PHP 中的程式庫和擴展,開發人員可以輕鬆地將資料轉換為 PDF 格式,並在網站上提供給使用者進行下載或列印。本文將介紹如何在 PHP 中使用常見的函式庫和擴充功能來建立 PDF 文件,以及一些實用的技巧和注意事項。


php中使用mpdf函式庫建立 PDF

我們可以使用外部函式庫mpdf在 PHP 中建立 PDF。我們可以從資料庫中檢索數據,將它們儲存在 PDF 中,然後下載 PDF。使用這個庫,我們可以從html文件建立 PDF。 HTML 文件應以 UTF-8 編碼。我們可以從資料庫中以 HTML 格式檢索要新增到 PDF 的資料。我們可以透過命令composer require mpdf/mpd專案目錄下載它以使用庫。該指令將在專案目錄中安裝mpdf庫。將建立一個vendor文件,我們需要使用require()函數來包含位於vendor資料夾內的文件autoload.php。我們必須確保安裝庫的目錄應該有寫入權限。

我們將從Mpdf()建構函數建立一個對象,並使用WriteHTML()output()等方法來建立 PDF。我們可以在不同的模式下輸出 PDF。我們可以在output()方法的第二個參數中指定模式。不同的模式由DIFS選項表示。選項D將在腳本執行後強制下載 PDF。腳本運行後,選項I將在瀏覽器中顯示 PDF。同時,選項F將下載 PDF 保存在相對於 PHP 檔案的資料夾中。最後,只有當將output()方法指派給變數時,選項F才會在瀏覽器中輸出 pdf。

例如,我們有一個名為phprow的資料庫,其中包含一個名為Persons的表。表Persons包含以下資料。

 +----------+----------+-----------+ | PersonID | Name | Address | +----------+----------+-----------+ | 22 | Harry M| England | | 32 | Paul P | France| +----------+----------+-----------+ 
登入後複製

首先,使用require()函數來包含vender/autoload.php檔案。然後,建立並建立資料庫連接,執行sql查詢以從資料庫中選擇數據,並在$html變數中建立一個表格。使用.運算子將$html變數與表格的主體連接起來。建立一個表頭為IDNameAddress的表。然後透過從Persons表中檢索上述資料來填入該表。

範例程式碼:

 require('vendor/autoload.php'); $con=Mysqli_connect('localhost','root','','phprow'); $res=mysqli_query($con,"select * from Persons"); if(mysqli_num_rows($res)>0){ $html=''; $html.=''; while($row=mysqli_fetch_assoc($res)){ $html.=''; } $html.='
IDNameAddress
'.$row['PersonID'].''.$row['Name'].''.$row['Address'].'
'
;
}
登入後複製

在上面的範例中,我們將資料庫中的資料儲存在變數$html中。我們使用了.運算子連接所有表格元素。因此,我們準備好將 HTML 文件寫入 PDF。

接下來,建立一個名為$mpdf的變數。使用new關鍵字將Mpdf()建構函數的物件指派給變數。使用$html變數作為物件的參數呼叫WriteHTML()函數。然後建立另一個變數$file來儲存 PDF。將files/time()函數連接起來,並再次將其與.pdf連接起來以建立檔案名稱。將其儲存在$file變數中。最後,使用$file作為第一個參數和選項I作為第二個參數呼叫output()函數。

因此,我們從資料庫中檢索資料並使用這些資料建立了 PDF。下面的範例在files資料夾中建立了一個以目前時間為名稱且副檔名為.pdf的檔案。腳本運行後,PDF 將顯示在瀏覽器中。我們可以從瀏覽器下載 PDF。

範例程式碼:

 $mpdf=new \Mpdf\Mpdf(); $mpdf->WriteHTML($html); $file='files/'.time().'.pdf'; $mpdf->output($file,'I'); 
登入後複製

在 PHP 中使用dompdf函式庫建立 PDF

dompdf函式庫也是在 PHP 中建立和下載 PDF 的選項。它讓我們將 HTML 載入到 PDF。這個庫與mpdf庫非常相似;只是方法不同。我們將使用loadHtml()render()stream()等方法。我們需要使用指令composer require dompdf/dompdf將庫下載到我們的工作目錄。它將像第一種方法一樣建立vendor資料夾以及composer.JSONcomposer.lock檔案。

例如,要求vendor/autoload.php作为程序中代码的第一行。然后编写use关键字以将Dompdf类导入为use Dompdf/Dompdf。我们可以使用与上述方法相同的 HTML 表来加载 PDF。

 require 'vendor/autoload.php'; use Dompdf\Dompdf; 
登入後複製

将 HTML 存储在变量$html中后,创建另一个变量$dompdf以创建类Dompdf的对象。然后使用$html作为参数调用loadHtml()方法。接下来,调用render()函数,然后使用$dompdf对象调用stream()函数。

下面的示例将使用第一种方法中的表格创建 PDF。render()方法将 HTML 呈现为 PDF 文件,而stream()方法将呈现的 HTML 输出到浏览器。因此,我们可以使用 PHP 中的dompdf库创建 PDF。

示例代码:

 $dompdf = new Dompdf(); $dompdf->loadHtml($html); $dompdf->render(); $dompdf->stream(); 
登入後複製

以上是在 PHP 中建立 PDF的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:lsjlt.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!