LAMP 環境下從 XHTML 生成 PDF


LAMP 環境廣泛用於 Web 開發,它是 Linux、Apache、MySQL 和 PHP 的首字母縮寫。此環境是一個易於使用和部署的開源平臺。PDF 格式通常用於在網際網路上傳輸和交換文件。但是,在 LAMP 環境中生成 PDF 文件可能是一項具有挑戰性的任務,尤其是在轉換 XHTML 文件時。在本文中,我們將探討在 LAMP 環境中從 XHTML 生成 PDF 的不同方法。

什麼是 XHTML?

XHTML 指的是可擴充套件超文字標記語言,它是一種用於建立網頁的標記語言。它是 HTML 語言的擴充套件,基於 XML。XHTML 是 HTML 的更嚴格和結構化的版本,它旨在與 XML 相容。這意味著它遵循一套規則和指南,使 Web 開發人員更容易建立與各種 Web 瀏覽器相容的網頁。

從 XHTML 生成 PDF

從 XHTML 生成 PDF 涉及將 XHTML 文件轉換為 PDF 文件。在 LAMP 環境中,有多種方法可用於從 XHTML 生成 PDF,我們將探討其中一些方法。

DOMPDF

DOMPDF 是一個 PHP 庫,用於將 HTML 和 XHTML 文件轉換為 PDF 格式。它是一個易於在 LAMP 環境中使用和部署的開源庫。DOMPDF 使用 CSS(層疊樣式表)標準來格式化 HTML 和 XHTML 文件,使 Web 開發人員可以輕鬆建立與原始 HTML 和 XHTML 文件一致的 PDF 文件。

示例

要使用 DOMPDF,我們需要先將其下載並安裝到伺服器上。安裝完成後,我們可以使用以下程式碼從 XHTML 文件生成 PDF 文件。

<?php 
   require_once 'dompdf/autoload.inc.php'; 
   use Dompdf\Dompdf; 
   $dompdf = new Dompdf(); 
   $html = file_get_contents('test.html'); 
   $dompdf->loadHtml($html); 
   $dompdf->setPaper('A4', 'landscape'); 
   $dompdf->render(); 
   $dompdf->stream("test.pdf", array("Attachment" => false)); 
?>

在上面的程式碼中,我們首先需要 DOMPDF 庫並建立一個新的 DOMPDF 物件。然後,我們使用 file_get_contents 函式載入 HTML 或 XHTML 文件,並將紙張大小設定為 A4,方向為橫向。最後,我們渲染 PDF 文件並將其以“test.pdf”檔名流式傳輸到瀏覽器。

TCPDF

TCPDF 是另一個 PHP 庫,用於從 HTML 和 XHTML 文件生成 PDF 文件。它是一個易於在 LAMP 環境中使用和部署的開源庫。TCPDF 是一個功能強大的庫,它提供了廣泛的功能,包括支援多種語言和字元集、PDF 文件的加密和壓縮以及對 HTML 和 XHTML 文件的支援。

示例

要使用 TCPDF,我們需要先將其下載並安裝到伺服器上。安裝完成後,我們可以使用以下程式碼從 XHTML 文件生成 PDF 文件。

<?php 
   require_once('tcpdf/tcpdf.php'); 
   $html = file_get_contents('test.html'); 
   $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 
   $pdf->SetCreator(PDF_CREATOR); 
   $pdf->SetAuthor('Author Name'); 
   $pdf->SetTitle('Title'); 
   $pdf->SetSubject('Subject'); 
   $pdf->setFontSubsetting(true); 
   $pdf->AddPage(); 
   $pdf->writeHTML($html, true, false, true, false, ''); 
   $pdf->Output('test.pdf', 'I'); 
?>

在上面的程式碼中,我們首先需要 TCPDF 庫並建立一個新的 TCPDF 物件。然後,我們使用 file_get_contents 函式載入 HTML 或 XHTML 文件,並設定 PDF 元資料(建立者、作者、標題和主題)。最後,我們在 PDF 文件中新增一個新頁面,將 HTML 或 XHTML 文件寫入頁面,並將 PDF 文件輸出到瀏覽器,檔名“test.pdf”。

FPDF

FPDF 是一個 PHP 庫,用於從頭開始生成 PDF 文件。它是一個易於在 LAMP 環境中使用和部署的開源庫。FPDF 不支援 HTML 或 XHTML 文件,但它提供了一套強大的函式來建立 PDF 文件,包括支援不同的字型、顏色、影像和頁面格式。

示例

要使用 FPDF,我們需要先將其下載並安裝到伺服器上。安裝完成後,我們可以使用以下程式碼從頭開始生成 PDF 文件。

<?php 
   require('fpdf/fpdf.php'); 
   $pdf = new FPDF(); 
   $pdf->AddPage(); 
   $pdf->SetFont('Arial','B',16); 
   $pdf->Cell(40,10,'Hello World!'); 
   $pdf->Output(); 
?>

在上面的程式碼中,我們首先需要 FPDF 庫並建立一個新的 FPDF 物件。然後,我們在 PDF 文件中新增一個新頁面,將字型設定為 Arial,樣式為粗體,大小為 16,並新增一個包含文字“Hello World!”的新單元格。最後,我們將 PDF 文件輸出到瀏覽器。

在 LAMP 環境中用於從 XHTML 生成 PDF 的其他工具和庫包括:

wkhtmltopdf

wkhtmltopdf 是一個開源命令列工具,用於將 HTML 和 XHTML 文件轉換為 PDF 格式。它基於 WebKit 渲染引擎,該引擎由流行的 Web 瀏覽器(如 Google Chrome 和 Safari)使用。wkhtmltopdf 提供了廣泛的功能,包括對 CSS、JavaScript 和影像的支援。

示例

要使用 wkhtmltopdf,我們需要先將其安裝到伺服器上。安裝完成後,我們可以使用以下命令從 XHTML 文件生成 PDF 文件。

wkhtmltopdf test.html test.pdf

在上面的命令中,我們指定輸入檔案 (test.html) 和輸出檔案 (test.pdf)。wkhtmltopdf 會自動將 XHTML 文件轉換為 PDF 格式。

mPDF

mPDF 是一個 PHP 庫,用於從 HTML 和 XHTML 文件生成 PDF 文件。它是一個易於在 LAMP 環境中使用和部署的開源庫。mPDF 是一個功能強大的庫,它提供了廣泛的功能,包括支援 Unicode 字元、HTML 和 XHTML 文件以及多種語言。

示例

要使用 mPDF,我們需要先將其下載並安裝到伺服器上。安裝完成後,我們可以使用以下程式碼從 XHTML 文件生成 PDF 文件。

<?php 
   require_once __DIR__ . '/vendor/autoload.php'; 
   $mpdf = new \Mpdf\Mpdf(); 
   $html = file_get_contents('test.html'); 
   $mpdf->WriteHTML($html); 
   $mpdf->Output(); 
?>

在上面的程式碼中,我們首先需要 mPDF 庫並建立一個新的 mPDF 物件。然後,我們使用 file_get_contents 函式載入 HTML 或 XHTML 文件並將 HTML 或 XHTML 文件寫入 PDF 文件。最後,我們將 PDF 文件輸出到瀏覽器。

結論

在 LAMP 環境中從 XHTML 生成 PDF 可能是一項具有挑戰性的任務,但有多種方法可用於此目的。DOMPDF、TCPDF 和 FPDF 是三個常用的 PHP 庫,用於在 LAMP 環境中從 XHTML 生成 PDF。每個庫都有其自身的功能和優勢,庫的選擇取決於專案的具體需求。透過使用這些庫,Web 開發人員可以輕鬆地從 XHTML 文件建立 PDF 文件並在網際網路上共享它們。

更新於:2023年3月14日

瀏覽量:259

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告