如何使用PHP產生PDF文件

WBOY
發布: 2023-05-11 16:22:02
原創
7695 人瀏覽過

在現代網路技術的應用中,PDF文件作為一種跨平台的標準文件格式,被廣泛地使用。 PHP作為最受歡迎的伺服器端程式語言之一,其針對PDF檔案的處理也是非常實用的。本文將介紹如何使用PHP來產生PDF檔。

一、安裝相關擴充功能

產生PDF檔案需要使用PDF庫,而這個函式庫可以透過安裝PDF相關擴充功能來實現。常用的PDF擴充功能有以下幾種:

  1. TCPDF擴充

TCPDF是一個用來產生PDF檔案的PHP類別庫。它完全由PHP語言編寫而成,所以你可以在PHP環境下輕鬆地產生PDF檔案。

安裝TCPDF擴充功能可以使用Composer,在你的專案中加入以下程式碼:

{
    "require": {
        "tecnickcom/tcpdf": "^6.2"
    }
}
登入後複製
  1. mPDF擴充功能
##mPDF是一個基於TDCPDF的PHP類別庫,它不僅可以產生PDF文件,還可以產生HTML、XHTML和CSS等格式的文件。

安裝mPDF擴充功能可以使用Composer,在你的專案中加入以下程式碼:

{
    "require": {
        "mpdf/mpdf": "*"
    }
}
登入後複製

二、產生一個簡單的PDF檔案

在我們開始產生PDF檔案之前,先來看看產生一個簡單的PDF檔案需要哪些步驟:

    #建立PDF實例
  1. #定義PDF頁面
  2. 輸出PDF內容
  3. #儲存PDF檔案
接下來我們將依照這四個步驟,來實作產生一個簡單的PDF檔案。

    建立PDF實例
首先,我們需要建立一個PDF實例,用來定義頁面大小、邊距等參數。以下是建立TCPDF實例的範例:

require_once('tcpdf/tcpdf.php');

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
登入後複製

其中,PDF_PAGE_ORIENTATION用來定義頁面方向。 PDF_UNIT用來定義頁面單位。 PDF_PAGE_FORMAT用來定義頁面大小。 true表示使用unicode字型。 'UTF-8'用來定義字元編碼。 false表示不使用反鋸齒。

    定義PDF頁面
定義PDF頁面是指設定PDF頁面的大小、邊距、字型等樣式。以下是定義TCPDF頁面的範例:

// 设置页面信息
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Author');
$pdf->SetTitle('Title');
$pdf->SetSubject('Subject');
$pdf->SetKeywords('TCPDF, PDF, example');

// 设置页面边距和大小
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

// 设置默认字体
$pdf->SetFont('cid0cs', '', 12);
登入後複製

其中,SetMargins、SetHeaderMargin、SetFooterMargin和SetAutoPageBreak用來設定PDF頁面邊距、頁首頁尾和分頁。 setImageScale用來設定PDF圖片的比例。 SetFont用來設定PDF文字的字體和大小。

    輸出PDF內容
輸出PDF內容指的是將HTML文字轉換成PDF文件。在TCPDF中,我們可以使用writeHTML方法來實作。以下是一個輸出TCPDF內容的範例:

$pdf->AddPage();

$html = '<h1>My PDF</h1>';
$html .= '<p>This is my first PDF generated with TCPDF.</p>';

$pdf->writeHTML($html, true, false, true, false, '');
登入後複製

其中,AddPage用來新增新的PDF頁面。 writeHTML用來將HTML文字輸出到PDF文件中。

    儲存PDF檔案
最後一步是將PDF檔案儲存到磁碟上。在TCPDF中,我們可以使用Output方法來實作。以下是儲存TCPDF檔案的範例:

$pdf->Output('my_pdf.pdf', 'D');
登入後複製

其中,my_pdf.pdf表示PDF檔案的名稱。 'D'表示PDF檔案直接輸出到使用者的瀏覽器。你也可以使用其他的參數,例如:'I'表示將PDF檔案輸出到瀏覽器,'F'表示將PDF檔案儲存到磁碟上。

三、使用mPDF產生PDF檔

前文中,我們介紹如何使用TCPDF來產生PDF檔。如果你想使用mPDF來產生PDF文件,那麼以下是一個簡單使用mPDF產生PDF文件的範例:

require_once(__DIR__.'/vendor/autoload.php');

$mpdf = new MpdfMpdf();

$mpdf->WriteHTML('<h1>Hello world</h1>');

$mpdf->Output();
登入後複製
其中,__DIR__.'/vendor/autoload.php'是透過Composer自動載入mPDF庫。 WriteHTML用來將HTML文字輸出到PDF文件中。 Output用來將PDF檔案輸出到瀏覽器或磁碟上。

四、結論

PHP產生PDF檔案可以使用TCPDF或mPDF類別庫。你需要先安裝相關的擴展,然後按照以下步驟來產生PDF文件:

    建立PDF實例
  1. 定義PDF頁面
  2. 輸出PDF內容
  3. ##儲存PDF文件

如果你需要將HTML頁面轉換成PDF文檔,先將HTML頁面用替換TCPDF的writeHTML()函數替換為mPDF的WriteHTML函數即可。使用PHP產生PDF檔案非常簡單,可以應用在許多場景中,例如:將網頁內容轉換成PDF文件供使用者下載和分享。

以上是如何使用PHP產生PDF文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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