首頁 後端開發 php教程 PHP中的PDF解析與生成指南

PHP中的PDF解析與生成指南

Jun 11, 2023 am 08:53 AM
php pdf 產生

PHP中的PDF解析和生成指南

PDF(Portable Document Format)是一種非常流行的電子文檔格式,因為它可以在不同平台和設備上保持文檔格式和佈局的一致性。在網路應用程式開發中,有時需要解析和產生PDF文件。本文將介紹如何使用PHP解析和產生PDF文件。

解析PDF文檔

要解析PDF文檔,我們可以使用第三方套件。現在有許多PHP套件可以解析PDF文檔,其中一些流行的選項是TCPDF、FPDF和mPDF。在本文中,我們將使用最受歡迎的mPDF套件作為我們的範例。 mPDF是一個開源的PHP類,用於在Web伺服器上產生PDF文件。它很容易使用,並且可以與現有的HTML模板一起使用。

  1. 安裝mPDF

首先,我們要從mPDF的官方網站下載最新的穩定版本。下載後,我們需要將其解壓縮到我們選擇的Web伺服器資料夾中。我們可以將其保存在我們的專案資料夾下,例如在“vendor”資料夾中。

  1. 建立一個PDF文檔

要建立一個PDF文檔,我們需要引入mPDF類並定義一個新的mPDF物件。我們可以使用以下程式碼來建立一個簡單的PDF文件:

<?php
require_once __DIR__ . '/vendor/autoload.php'; // 引入mPDF类

$mpdf = new MpdfMpdf(); // 定义一个新的mPDF对象

$mpdf->WriteHTML('<h1>Hello World!</h1>'); // 添加内容

$mpdf->Output(); // 输出PDF文档
登入後複製

在上面的程式碼中,我們先引進了mPDF類,然後建立了一個新的mPDF物件。接下來,我們為PDF文檔新增了一個標題。最後,我們輸出PDF文件。

  1. 新增樣式和內容

我們可以使用HTML和CSS來定義PDF文件的內容和樣式。程式碼範例:

<?php
require_once __DIR__ . '/vendor/autoload.php'; // 引入mPDF类

$stylesheet = file_get_contents('./style.css'); // 获取样式表
$html = file_get_contents('./content.html'); // 获取内容

$mpdf = new MpdfMpdf(); // 定义一个新的mPDF对象

$mpdf->WriteHTML($stylesheet, 1); // 添加样式表
$mpdf->WriteHTML($html); // 添加内容

$mpdf->Output(); // 输出PDF文档
登入後複製

在上面的程式碼中,我們從檔案中取得了樣式表和內容。然後,我們為mPDF物件新增了樣式表和內容。最後,我們輸出PDF文件。

產生PDF文件

產生PDF文件的方式與解析PDF文件的方式略有不同。在這裡,我們將使用另一個第三方包,它稱為Dompdf。 Dompdf是一個基於PHP的HTML到PDF轉換器。

  1. 安裝Dompdf

我們可以從Dompdf的官方網站下載最新的穩定版本。下載後,我們需要將其解壓縮到我們選擇的Web伺服器資料夾中。我們可以將其保存在我們的專案資料夾中,例如在vendor資料夾下。

  1. 建立一個PDF文檔

要建立一個PDF文檔,我們需要引入Dompdf類別並定義一個新的Dompdf物件。我們可以使用以下程式碼建立一個簡單的PDF文件:

<?php
require_once __DIR__ . '/vendor/autoload.php'; // 引入Dompdf类

use DompdfDompdf;

$dompdf = new Dompdf(); // 定义一个新的Dompdf对象

$html = '<h1>Hello World!</h1>'; // 添加内容

$dompdf->loadHtml($html); // 加载HTML内容
$dompdf->setPaper('A4', 'portrait'); // 设置纸张和方向

$dompdf->render(); // 渲染PDF文档

$dompdf->stream(); // 输出PDF文档
登入後複製

在上面的程式碼中,我們先引入Dompdf類,並建立了一個新的Dompdf物件。然後,我們定義了一個HTML字串,並向Dompdf物件添加了它。接下來,我們設定PDF文件的紙張大小和方向。最後,我們渲染PDF文件並輸出它。

  1. 新增樣式和內容

我們可以使用HTML和CSS來定義PDF文件的內容和樣式。程式碼範例:

<?php
require_once __DIR__ . '/vendor/autoload.php'; // 引入Dompdf类

use DompdfDompdf;

$dompdf = new Dompdf(); // 定义一个新的Dompdf对象

$html = file_get_contents('./content.html'); // 获取内容
$stylesheet = file_get_contents('./style.css'); // 获取样式表

$dompdf->loadHtml($html); // 加载HTML内容
$dompdf->setPaper('A4', 'portrait'); // 设置纸张和方向

$dompdf->getOptions()->setIsFontSubsettingEnabled(true); // 启用字体子集功能
$dompdf->getOptions()->setIsPhpEnabled(true); // 启用PHP
$dompdf->getOptions()->setChroot(__DIR__); // 设置根目录
$dompdf->setBasePath(__DIR__); // 设置基本路径

$dompdf->loadHtml($stylesheet, true); // 加载样式表
$dompdf->render(); // 渲染PDF文档

$dompdf->stream(); // 输出PDF文档
登入後複製

在上面的程式碼中,我們從檔案中取得了樣式表和內容。然後,我們為Dompdf物件添加了樣式表和內容。最後,我們渲染PDF文件並輸出它。

總結

本文介紹如何使用PHP解析和產生PDF文件。對於PDF的解析,我們可以使用mPDF包,它很容易使用,並且可以與現有的HTML模板一起使用。對於產生PDF文檔,我們可以使用Dompdf包,它支援HTML和CSS,可以輕鬆地將現有網頁轉換為PDF格式。

無論您是要解析PDF文件還是產生PDF文件,使用PHP和上述的第三方包非常簡單和有效率。

以上是PHP中的PDF解析與生成指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

CakePHP 專案配置 CakePHP 專案配置 Sep 10, 2024 pm 05:25 PM

CakePHP 專案配置

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

CakePHP 路由

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

討論 CakePHP

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 快速指南

See all articles