PDF 是一種常用的文檔格式,廣泛應用於電子書、報告、合同等場景。在網站開發中,某些情況下我們需要動態生成PDF 文檔,像是報告生成、數據導出等。本文將介紹如何通過PHP 使用流行的PDF 生成庫——TCPDF 和FPDF,來實現動態生成PDF 文檔的功能。
在開始之前,我們需要安裝TCPDF 或FPDF 這兩個常用的PDF 生成庫。它們都提供了豐富的功能,可以非常方便地生成PDF 文檔。以下是通過Composer 安裝這兩個庫的命令:
使用TCPDF:
composer require tecnickcom/tcpdf
或使用FPDF:
composer require setasign/fpdf
TCPDF 是一個功能強大的開源PDF 生成庫,適用於生成較為複雜的PDF 文檔。以下是一個簡單的TCPDF 使用示例:
require_once('path/to/tcpdf/tcpdf.php'); // 創建PDF 對象$pdf = new TCPDF(); // 設置文檔屬性$pdf->SetCreator('Your Name'); $pdf->SetAuthor('Your Name'); $pdf->SetTitle('My PDF Document'); // 添加頁面$pdf->AddPage(); // 設置字體和样式$pdf->SetFont('helvetica', '', 12); // 輸出文本內容$pdf->Cell(0, 10, 'Hello, World!', 0, 1, 'C'); // 輸出圖像$pdf->Image('path/to/image.jpg', 10, 20, 50, 0, 'JPG'); // 輸出鏈接$pdf->WriteHTML(' <a href="http://example.com">Example</a> ', true, false, true, false, ''); // 輸出PDF 文檔$pdf->Output('output.pdf', 'D');
在上面的代碼中,我們創建了一個PDF 對象並設置了文檔的屬性。然後,我們添加了一個頁面,設置了字體樣式,輸出了文本內容、圖像以及一個鏈接。最後,PDF 文檔會直接彈出下載窗口供用戶下載。
FPDF 是另一個輕量級的PHP PDF 生成庫,雖然其功能比TCPDF 少一些,但其簡單易用,適合用於一些較為簡單的PDF 文檔生成。以下是一個使用FPDF 的示例代碼:
require_once('path/to/fpdf/fpdf.php'); // 創建PDF 對象$pdf = new FPDF(); // 添加頁面$pdf->AddPage(); // 設置字體和样式$pdf->SetFont('Arial', 'B', 16); // 輸出文本內容$pdf->Cell(40, 10, 'Hello, World!'); // 輸出圖像$pdf->Image('path/to/image.jpg', 10, 20, 30, 0, 'JPG'); // 輸出鏈接$pdf->Write(10, 'For more information, visit '); $pdf->SetFont('Arial', 'U', 16); $pdf->Write(10, 'www.example.com', 'http://example.com'); // 輸出PDF 文檔$pdf->Output();
在這個示例中,我們創建了一個PDF 對象並添加了一個頁面。接著,我們設置了字體和样式,輸出了文本、圖像以及鏈接。最後,PDF 文檔被直接輸出到瀏覽器。
通過PHP 動態生成PDF 文檔,主要依賴TCPDF 或FPDF 這兩個庫。 TCPDF 提供了更多的功能和方法,適合生成複雜的PDF 文檔;而FPDF 輕量、易用,適合快速生成簡單的文檔。根據你的需求,選擇合適的庫即可輕鬆實現PDF 生成。