站長資訊網
最全最豐富的資訊網站

PHP laravel怎樣實現導出PDF功能

本篇文章給大家帶來了關于PHP的相關知識,其中主要介紹了關于laravel實現導出PDF功能的相關問題,下面一起來看一下,希望對大家有幫助。

PHP laravel怎樣實現導出PDF功能

Laravel 9 保姆級視頻教程,想學不會都難!進入學習

推薦學習:《PHP視頻教程》

一、laravel-tcpdf

導出PDF文件Laravel框架為我們集成了一個插件tcpdf。

下載地址:

https://github.com/elibyy/tcpdf-laravel

然后使用composer進行安裝就可以了。

具體安裝過程,請查看文末補充內容

使用的時候記得use 一下 命名空間。

但是這里有一個問題,使用這個插件導出文件無法使用中文,且我還沒有找到解決辦法,因此,這個laravel的tcpdf插件我就沒有使用。

二、tcpdf

tcpdf官方網站:

tcpdf.org/

我下載了完整版的TCPDF

下載地址:https://github.com/tecnickcom/TCPDF.git

我們將下載的包放在框架根目錄下的app/Extend/tcpdf中。

調用代碼:

        require_once("../app/Extend/tcpdf/tcpdf.php"); $pdf = new TCPDF();         // 設置文檔信息         $pdf->SetCreator('懶人開發網');         $pdf->SetAuthor('懶人開發網');         $pdf->SetTitle('TCPDF示例');         $pdf->SetSubject('TCPDF示例');         $pdf->SetKeywords('TCPDF, PDF, PHP');           // 設置頁眉和頁腳信息         $pdf->SetHeaderData('tcpdf_logo.jpg', 30, 'LanRenKaiFA.com', '學會偷懶,并懶出效率!', [0, 64, 255], [0, 64, 128]);         $pdf->setFooterData([0, 64, 0], [0, 64, 128]);           // 設置頁眉和頁腳字體         $pdf->setHeaderFont(['stsongstdlight', '', '10']);         $pdf->setFooterFont(['helvetica', '', '8']);           // 設置默認等寬字體         $pdf->SetDefaultMonospacedFont('courier');           // 設置間距         $pdf->SetMargins(15, 15, 15);//頁面間隔         $pdf->SetHeaderMargin(5);//頁眉top間隔         $pdf->SetFooterMargin(10);//頁腳bottom間隔           // 設置分頁         $pdf->SetAutoPageBreak(true, 25);           // set default font subsetting mode         $pdf->setFontSubsetting(true);           //設置字體 stsongstdlight支持中文         $pdf->SetFont('stsongstdlight', '', 14);           //第一頁         $pdf->AddPage();         $pdf->writeHTML('<p style="text-align: center"><h1>第一頁內容</h1></p>');         $pdf->writeHTML('<p>我是第一行內容</p>');         $pdf->writeHTML('<p style="color: red">我是第二行內容</p>');         $pdf->writeHTML('<p>我是第三行內容</p>');         $pdf->Ln(5);//換行符         $pdf->writeHTML('<p><a href="http://www.lanrenkaifa.com/" rel="external nofollow"  title="">懶人開發網</a></p>');           //第二頁         $pdf->AddPage();         $pdf->writeHTML('<h1>第二頁內容</h1>');           //輸出PDF         $pdf->Output('t.pdf', 'I');//I輸出、D下載
登錄后復制

三、TCPDF解決保存中文文件名的方法

這部分是百度過來的,網上挺多關于這個的文章的,內容基本一致。

1:找到output函數,注釋以下代碼(在7560行左右):

if ($dest[0] != 'F') {     $name = preg_replace('/[s]+/', '_', $name);     $name = preg_replace('/[^a-zA-Z0-9_.-]/', '', $name); }
登錄后復制

2:搜索下面這行代碼

header('Content-Disposition: attachment; filename="'.basename($name).'"');
登錄后復制

替換成:

header('Content-Disposition: attachment; filename="'.$name.'"');
登錄后復制

以上大概就是tcpdf的基本使用。

補充

laravel5.8引入第三方類庫的方法詳解

有需求需要使用PHPMailer發送郵件。

那么首先需要引入PHPMailer這個第三方的類庫。我是這樣做的:

1:在app目錄下新建Extend目錄。如下圖所示:

PHP laravel怎樣實現導出PDF功能

將PHPMailer放入Extend目錄下。如下圖所示

PHP laravel怎樣實現導出PDF功能

2:修改項目根目錄下的composer.json文件

"autoload": {         "psr-4": {             "App\": "app/"         },         "classmap": [             "database/seeds",             "database/factories",             "app/Extend/PHPMailer/src"         ]     },
登錄后復制

添加你第三方類庫的位置到autoload中

3:執行composer命令,在網站根目錄下:

composer dump-autoload

4:調用:

(1):使用命名空間

use PHPMailersrcPHPMailer;
登錄后復制

(2):調用

 //實例化PHPMailer核心類 $mail = new PHPMailer();
登錄后復制

如果報錯,就在實例化前邊加一個轉義符

至此,laravel引入第三方類庫成功。

推薦學習:《PHP視頻教程》

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
亚洲精品国产综合久久久久紧| 久久国产精品成人免费| 日韩精品久久不卡中文字幕| 亚洲自偷精品视频自拍| 国产精品精品自在线拍| 最新国产精品拍自在线播放| 久久99亚洲综合精品首页| 九九视频精品在线| 午夜国产精品无套| 日韩午夜在线视频| 亚洲欧美中文日韩视频| 精品国产日韩亚洲一区| 国产精品jvid在线观看| 日本精品在线观看视频| 岛国精品在线观看| 精品国产精品久久一区免费式| 亚洲精品无码专区久久| 狠狠色香婷婷久久亚洲精品| 亚洲av专区无码观看精品天堂| 精品熟女少妇av免费久久| 99国产精品自在自在久久| 久久亚洲中文字幕精品有坂深雪 | 日韩电影一区二区| 日韩成人毛片高清视频免费看| 国产午夜久久精品| 日韩三级中文字幕| 亚洲av日韩av无码| 日韩视频免费一区二区三区| 四虎精品亚洲一区二区三区| 天天爽夜夜爽夜夜爽精品视频| 亚洲国产精品无码久久久久久曰 | 国产精品九九久久免费视频| 亚洲人成国产精品无码| 国产精品高清在线观看| 久久久久一级精品亚洲国产成人综合AV区| 久久久WWW成人免费精品| 国产成人综合日韩精品无码不卡| 亚洲精品制服丝袜四区| 久久这里只精品热免费99| 久久国产乱子伦精品免费一| 国产精品视频福利|