站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

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

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

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

        Laravel 9 保姆級視頻教程,想學(xué)不會都難!進(jìn)入學(xué)習(xí)

        推薦學(xué)習(xí):《PHP視頻教程》

        一、laravel-tcpdf

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

        下載地址:

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

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

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

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

        但是這里有一個問題,使用這個插件導(dǎo)出文件無法使用中文,且我還沒有找到解決辦法,因此,這個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é)會偷懶,并懶出效率!', [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下載
        登錄后復(fù)制

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

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

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

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

        2:搜索下面這行代碼

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

        替換成:

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

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

        補(bǔ)充

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

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

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

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

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

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

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

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

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

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

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

        composer dump-autoload

        4:調(diào)用:

        (1):使用命名空間

        use PHPMailersrcPHPMailer;
        登錄后復(fù)制

        (2):調(diào)用

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

        如果報錯,就在實(shí)例化前邊加一個轉(zhuǎn)義符

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

        推薦學(xué)習(xí):《PHP視頻教程》

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 亚洲国产精品婷婷久久| 狠狠精品干练久久久无码中文字幕| 亚洲国产精品成| 日韩精品区一区二区三VR| 久久99亚洲综合精品首页| 精品乱人伦一区二区三区| 日韩精品少妇无码受不了| 欧美日韩综合精品| 国产成人无码精品久久久免费| 97精品国产福利一区二区三区 | 56prom精品视频在放免费| 精品人伦一区二区三区潘金莲 | 国产在AJ精品| 亚洲综合一区二区精品导航 | 精品人妻大屁股白浆无码| 亚洲精品无码久久久久AV麻豆| 精品国产一区二区三区AV性色| 2024国产精品极品色在线| 久久精品成人免费网站| 国产AV国片精品| 国产亚洲精品自在久久| 久久综合精品国产二区无码| 亚洲日韩精品一区二区三区 | 精品黑人一区二区三区| 午夜精品射精入后重之免费观看| 午夜精品久久久久久| 欧美精品黑人粗大欧| 久久精品亚洲福利| 久久精品国产精品亚洲下载| 国产精品无码专区在线观看 | 国产精品2019| 国产精品成人观看视频国产| 国产成人精品免费视频动漫| 999精品视频| 国产短视频精品一区二区三区| …久久精品99久久香蕉国产| 97久久久久人妻精品专区| 第一福利永久视频精品| 久久免费国产精品一区二区| 色花堂国产精品第一页| 88久久精品无码一区二区毛片|