日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

本篇文章給大家?guī)砹岁P(guān)于PHP的相關(guān)知識(shí),其中主要介紹了關(guān)于laravel實(shí)現(xiàn)導(dǎo)出PDF功能的相關(guān)問題,下面一起來看一下,希望對(duì)大家有幫助。


PHP laravel怎樣實(shí)現(xiàn)導(dǎo)出PDF功能


一、laravel-tcpdf

導(dǎo)出PDF文件Laravel框架為我們集成了一個(gè)插件tcpdf。

下載地址:

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

然后使用composer進(jìn)行安裝就可以了。

具體安裝過程,請(qǐng)查看文末補(bǔ)充內(nèi)容

使用的時(shí)候記得use 一下 命名空間。

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


二、tcpdf

tcpdf官方網(wǎng)站:

tcpdf.org/

我下載了完整版的TCPDF

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

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

調(diào)用代碼:

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


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

這部分是百度過來的,網(wǎng)上挺多關(guān)于這個(gè)的文章的,內(nèi)容基本一致。

1:找到output函數(shù),注釋以下代碼(在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的基本使用。


補(bǔ)充

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

有需求需要使用PHPMailer發(fā)送郵件。

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

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


PHP laravel怎樣實(shí)現(xiàn)導(dǎo)出PDF功能


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


PHP laravel怎樣實(shí)現(xiàn)導(dǎo)出PDF功能


2:修改項(xiàng)目根目錄下的composer.json文件

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

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

3:執(zhí)行composer命令,在網(wǎng)站根目錄下:

composer dump-autoload

4:調(diào)用:

(1):使用命名空間

use PHPMailer\src\PHPMailer;

(2):調(diào)用

//實(shí)例化PHPMailer核心類
$mail = new PHPMailer();

如果報(bào)錯(cuò),就在實(shí)例化前邊加一個(gè)轉(zhuǎn)義符\

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


分享到:
標(biāo)簽:PHP導(dǎo)出PDF功能 laravel導(dǎo)出PDF功能
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績?cè)u(píng)定