<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 使用mpdf實現導出pdf文件功能 ## 概述 mPDF是一個強大的PHP庫,它能夠將UTF-8編碼的HTML內容轉換為PDF文件。這個庫基于FPDF和HTML2FPDF,由Lan Back開發,并在GNU GPL v2許可下發布。mPDF以其豐富的功能和靈活性,成為PHP開發者在生成PDF文件時的首選之一。 ## 功能特點 mPDF不僅僅是一個簡單的HTML到PDF的轉換工具,它還提供了一系列的增強功能: * **高級CSS支持**:mPDF支持大部分CSS屬性,使得從網頁到PDF的轉換更加流暢。 * **圖像和HTML內容**:可以輕松地在PDF中嵌入圖像和HTML內容。 * **多列布局**:支持創建多列文檔,類似于報紙的布局。 * **表單創建**:允許在PDF中創建和處理表單。 * **水印和背景**:可以為PDF頁面添加水印和背景圖像。 ## 系統要求 在使用mPDF之前,需要確保您的PHP環境滿足以下要求: * PHP版本需在5.6以上,且低于7.3.0,適用于mPDF 7.0及以上版本。 * PHP 7.3及以上版本也得到了支持。 * 必須加載`mbstring`和`gd`擴展。 * 對于一些高級特性,可能還需要`zlib`、`bcmath`或`xml`等擴展。 ## 安裝 ``` composer require mpdf/mpdf ``` ## 使用 #### 基礎使用 使用mPDF生成PDF非常簡單。以下是一個基本的使用示例: ``` <?php require_once __DIR__ . '/vendor/autoload.php'; $mpdf = new \Mpdf\Mpdf(); $mpdf->WriteHTML('<h1>Hello world!</h1>'); $mpdf->Output(); ``` 這段代碼將在瀏覽器中以`application/pdf`的Content-type輸出PDF文件。 #### 使用HTML文件 ```php <?php /** * @desc pdf.php 描述信息 * @author Tinywan(ShaoBo Wan) * @date 2024/6/28 22:37 */ declare(strict_types=1); use Mpdf\Mpdf; use Mpdf\Output\Destination; require_once __DIR__ . '/../vendor/autoload.php'; $html = file_get_contents( './pdf01.html'); $mPdf = new Mpdf(); // 加載HTML文件 $mPdf->WriteHTML($html); // 輸出PDF文件 $mPdf->Output('./pdf01.pdf', Destination::FILE); ``` `pdf01.html` 模板文件 ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Tinywan PHP library generating PDF files from UTF-8 encoded HTML</title> </head> <body> <h1>PHP library generating PDF files from UTF-8 encoded HTML</h1> <ul> <li>1. Additional extensions may be dded resources such as fonts</li> <li>2. Official installation method is via composer and its packagist package mpdf/mpdf.:24</li> <li>3. The simplest usage (since version 7.0) of the library would be as follows </li> </ul> </body> </html> ``` 輸出PDF文件 `pdf01.pdf` ![](https://img.kancloud.cn/fd/79/fd79caa63adadff1c5c174e8ca01cf10_1171x484.png) `pdf02.html` 模板文件 ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>開源技術小棧</title> </head> <body> <h1>開源技術小棧</h1> <table cellspacing="0" border="1" width="100%"> <tr> <th>序號</th> <th>名稱</th> <th>項目地址</th> </tr> <tr> <td>1</td> <td>JWT 認證插件</td> <td>https://www.workerman.net/plugin/6</td> </tr> <tr> <td>2</td> <td>Validate 驗證器插件</td> <td>https://www.workerman.net/plugin/7</td> </tr> <tr> <td>3</td> <td>Casbin 權限插件(Casbin官方)</td> <td>https://www.workerman.net/plugin/8</td> </tr> </table> </body> </html> ``` ![](https://img.kancloud.cn/70/fb/70fb233234575af7665410cf283cd70f_1098x507.png) 可以看出中文和符號亂碼變成了小方塊。關于mpdf中文和符號亂碼需要指定三個參數 ```php $mPdf = new Mpdf([ 'autoScriptToLang' => true, 'autoLangToFont' => true, 'useSubstitutions' => true, ]); ``` 重新打印輸出就正常了 ![](https://img.kancloud.cn/4b/82/4b82457a838c26e03e7266291eeed64d_1437x562.png) 設置字體和紙張大小 ``` $mPdf = new Mpdf([ 'autoScriptToLang' => true, 'autoLangToFont' => true, 'useSubstitutions' => true, "setAutoTopMargin" => "stretch", "setAutoBottomMargin" => "stretch", "autoMarginPadding" => 10, 'mode' => 'UTF-8', 'format' => 'A4', 'default_font_size' => 16, 'margin_right' => 12, 'margin_left' => 12, 'default_font' => '宋體' ]); ``` ![](https://img.kancloud.cn/1f/85/1f8564c4acde53b9dd781fffa8978180_1422x642.png) #### 使用PHP模板文件 `pdf03.html` 模板文件 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>開源技術小棧模板替換</title> </head> <body> <h1>用戶名:{%username%}</h1> <h1>年齡:{%age%}</h1> <h1>地址:{%address%}</h1> </body> </html> ``` PHP渲染文件`pdf.php` ```php <?php /** * @desc pdf.php 描述信息 * @author Tinywan(ShaoBo Wan) * @date 2024/6/28 22:37 */ declare(strict_types=1); use Mpdf\Mpdf; use Mpdf\Output\Destination; require_once __DIR__ . '/../vendor/autoload.php'; $hmltTpmFile = file_get_contents('./pdf03.html'); $search = [ '{%username%}', '{%age%}', '{%address%}', ]; $username = 'Tinywan'; $age = date('Y-m-d H:i:s'); $address = '浙江省杭州市西湖區夢想小鎮'; $replace = [ $username, $age, $address, ]; // 替換模板 $html = str_replace($search, $replace, $hmltTpmFile); $mPdf = new Mpdf([ 'autoScriptToLang' => true, 'autoLangToFont' => true, 'useSubstitutions' => true, 'format' => 'A4', 'default_font_size' => 14, 'default_font' => '宋體' ]); // 加載HTML文件 $mPdf->WriteHTML($html); // 輸出PDF文件 $mPdf->Output('./pdf03.pdf', Destination::FILE); ``` 輸出PDF文件 `pdf03.pdf` ![](https://img.kancloud.cn/0b/73/0b73b4f86803d4d69413714c7a35d7bf_1426x651.png) ## 小結 mPDF是一個功能齊全的PHP庫,適合需要在PHP項目中生成PDF文件的開發者。盡管它在CSS支持方面可能不如一些現代工具,但其穩定性和豐富的特性使其仍然是一個值得考慮的選擇。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看