Laravel 9 保姆級視訊教學,想學不會都難!進入學習
推薦學習:《》
匯出PDF檔案Laravel框架為我們整合了一個外掛tcpdf。
下載地址:
https://github.com/elibyy/tcpdf-laravel
然後使用composer進行安裝就可以了。
具體安裝過程,請檢視文末補充內容
使用的時候記得use 一下 名稱空間。
但是這裡有一個問題,使用這個外掛匯出檔案無法使用中文,且我還沒有找到解決辦法,因此,這個laravel的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下載
登入後複製
這部分是百度過來的,網上挺多關於這個的文章的,內容基本一致。
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目錄。如下圖所示:
將PHPMailer放入Extend目錄下。如下圖所示
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 PHPMailer\src\PHPMailer;
登入後複製
(2):呼叫
//範例化PHPMailer核心類
$mail = new PHPMailer();
登入後複製
如果報錯,就在範例化前邊加一個跳脫符\
至此,laravel引入第三方類庫成功。
推薦學習:《》
以上就是PHP laravel怎樣實現匯出PDF功能的詳細內容,更多請關注TW511.COM其它相關文章!