Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 青青草91久久国产频道,男女激情很爽很黄很色视频免费看一级黄色录像 ,欧美成人观看视频在线

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          手把手的教你用PHP將HTML生成PDF

          ompdf是一個可以將HTML生成PD并保留樣式效果的PHP第三方擴展。

          下面就一步步講解如何使用:

          一、通過composer安裝

          composer require dompdf/dompdf


          安裝過程

          二 、編寫測試代碼

          (1)引用autoload.php

          include 'vendor/autoload.php'; 

          (2)實例化Dompdf

          $dompdf=new \Dompdf\Dompdf();

          (3)加載HTML

          $dompdf->loadHtml($html); //$html 為HTML字符串

          (4)設置紙張和方向

          $dompdf->setPaper('A4', 'landscape'); //紙張大小和紙張方向

          (5)生成PDF并下載

           $dompdf->render();
          $dompdf->stream('數據字典.pdf');

          三、導出PDF測試,發現中文亂碼了


          導出PDF發現中文亂碼了

          四、解決中文亂了問題

          (1)下載支持中文的字體包放到根目錄下(和vendor目錄同級),這里演示使用的是阿里巴巴的普惠字體(字體格式是ttf的,小編原先下載使用的字體格式是otf格式的無效)

          (2)下載dompdf字體安裝工具解壓到根目錄(和vendor目錄同級)

          下載地址:https://github.com/dompdf/utils

          (3)在命令行(CMD定位到根目錄)下執行命令

          php load_font.php "puhui" Alibaba-PuHuiTi-Light.ttf

          執行成功后在路徑(vendor\dompdf\dompdf\lib\fonts)下就會出現剛才的字體

          (4)在樣式文件中指定使用剛才安裝的字體

          body{font-family:puhui;}

          (5)再次導出PDF測試成功


          亂碼問題解決

          日有網友希望有一篇用PHP生成PDF的文章教程,好的今天我們就講一講怎么樣用PHP將HTML生成PDF

          我們使用的開源類庫就是TCPDF

          GITHUB地址:

          https://github.com/tecnickcom/TCPDF

          composer安裝:

          composer require tecnickcom/tcpdf

          demo示例:

          https://tcpdf.org/examples/

          這里主要講的是講HTML生成PDF因為HTML格式絕大部分夠用了,其它個性化的功能大家看下官方的DEMO就行了比如生成圖表等

          下面說下具體使用方式:

          1.實例化TCPDF對象

          $pdf = new TCPDF(PDF_PAGE_ORIENTATIN, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

          2.設置標題關鍵字等(步驟可以省略)

          $pdf->SetCreator(PDF_CREATOR);

          $pdf->SetAuthor('Nicola Asuni');

          $pdf->SetTitle('TCPDF演示');

          $pdf->SetSubject('TCPDF Tutorial');

          $pdf->SetKeywords('TCPDF, PDF, example, test, guide');

          3.設置字體(這步很重要不然中文亂碼)

          $fontname = TCPDF_FONTS::addTTFfont('Droid Sans Fallback.ttf', 'TrueTypeUnicode', '', 32);

          $pdf->SetFont($fontname, '', 20);

          4.添加個頁面

          $pdf->AddPage();

          5.將HTML生成PDF

          $pdf->writeHTML($html);

          6.輸出(默認直接在瀏覽器顯示)

          $pdf->Output();

          $pdf->Output('123.pdf','D');//這個是下載,其他方式請替換參數

          7.生成后的效果

          鏈接列表等演示

          生成圖片演示

          表格演示

          最后總結:

          1.一定要設置字體,否則中文亂碼。最好使用文本的設置方法和字體。網上的設置字體的方法雖然能解決但是用pdfparser這個類讀取生成后的PDF內容還是亂碼(讀取PDF內容的方法在我另一篇文章中有說到)

          2.如果你設置了PDF的頭和腳 還需在設置一遍字體

          $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, 'PDF頭部標題', '代碼庸醫');

          $pdf->setHeaderFont(Array($fontname, '', PDF_FONT_SIZE_MAIN));

          HP將HTML實體轉換為普通字符,我們可以使用PHP htmlspecialchars_decode()函數將特殊的HTML實體轉換為正常字符,如&,<,>(即&,<,>)等HTML實體字符恢復到正常字符。



          下面我們就結合代碼示例,為大家介紹PHP將HTML實體轉換為普通字符的實現方法。

          代碼示例如下:

          <?php
          $my_str = "I'm good & <b>"boy "</b>.";
          echo htmlspecialchars_decode($my_str);
          echo "<br>";
          echo htmlspecialchars_decode($my_str, ENT_QUOTES);
          echo "<br>";
          echo $my_str;
          

          輸出結果如下:



          htmlspecialchars_decode函數表示將特殊的 HTML 實體轉換回普通字符。

          說明 :

          string htmlspecialchars_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 ] )
          

          其參數:string表示要解碼的字符串,flags表示用下列標記中的一個或多個作為一個位掩碼,來指定如何處理引號和使用哪種文檔類型。默認為 ENT_COMPAT | ENT_HTML401。

          此函數的作用和 htmlspecialchars() 剛好相反。它將特殊的HTML實體轉換回普通字符。

          被轉換的實體有:&, " (沒有設置ENT_NOQUOTES 時), ' (設置了 ENT_QUOTES 時), < 以及>。

          該htmlspecialchars_decode()函數與htmlspecialchars()將特殊HTML字符轉換為HTML實體的函數相反。

          本篇文章就是關于PHP將HTML實體轉換為普通字符的方法介紹,簡單易懂,希望對需要的朋友有所幫助!

          以上就是PHP怎么將HTML實體轉換為普通字符的詳細內容,更多請關注其它相關文章!

          更多技巧請《轉發 + 關注》哦!


          主站蜘蛛池模板: 国产AV一区二区精品凹凸| 一区二区三区高清视频在线观看| 日本一道高清一区二区三区| 国产成人精品日本亚洲专一区| 国模无码一区二区三区不卡| 国产精品特级毛片一区二区三区| 国产经典一区二区三区蜜芽 | 中文字幕一区精品| 国产三级一区二区三区| 一本一道波多野结衣AV一区| 亚洲日本一区二区三区在线| 精品无码人妻一区二区三区| 视频一区二区精品的福利| 大伊香蕉精品一区视频在线| 国产福利91精品一区二区| 国产福利一区二区精品秒拍| 精品一区二区三区四区| 亚洲爽爽一区二区三区| 丝袜人妻一区二区三区网站| 国产成人精品无码一区二区 | 精品一区二区三区无码免费直播| 亚洲AV无码第一区二区三区| 国产精品无码一区二区三区不卡 | 国产一区二区三区在线看| 视频一区视频二区日韩专区| 精品国产亚洲一区二区三区在线观看| 久久国产精品无码一区二区三区 | 国产精品 一区 在线| 精品无码综合一区二区三区| 日韩成人无码一区二区三区 | 国产精品视频免费一区二区| 日韩美女视频一区| 成人免费视频一区二区三区 | 精品一区二区三区在线观看l | 色婷婷亚洲一区二区三区| 韩国理伦片一区二区三区在线播放| 精品一区二区三区在线观看视频 | 免费精品一区二区三区在线观看| 亚洲熟妇av一区二区三区| 相泽南亚洲一区二区在线播放| 日韩一区二区在线观看视频|