欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

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

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

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

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

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

          一、laravel-tcpdf

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

          下載地址:

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

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

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

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

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

          二、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('懶人開(kāi)發(fā)網(wǎng)');         $pdf->SetAuthor('懶人開(kāi)發(fā)網(wǎng)');         $pdf->SetTitle('TCPDF示例');         $pdf->SetSubject('TCPDF示例');         $pdf->SetKeywords('TCPDF, PDF, PHP');           // 設(shè)置頁(yè)眉和頁(yè)腳信息         $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è)置頁(yè)眉和頁(yè)腳字體         $pdf->setHeaderFont(['stsongstdlight', '', '10']);         $pdf->setFooterFont(['helvetica', '', '8']);           // 設(shè)置默認(rèn)等寬字體         $pdf->SetDefaultMonospacedFont('courier');           // 設(shè)置間距         $pdf->SetMargins(15, 15, 15);//頁(yè)面間隔         $pdf->SetHeaderMargin(5);//頁(yè)眉top間隔         $pdf->SetFooterMargin(10);//頁(yè)腳bottom間隔           // 設(shè)置分頁(yè)         $pdf->SetAutoPageBreak(true, 25);           // set default font subsetting mode         $pdf->setFontSubsetting(true);           //設(shè)置字體 stsongstdlight支持中文         $pdf->SetFont('stsongstdlight', '', 14);           //第一頁(yè)         $pdf->AddPage();         $pdf->writeHTML('<p style="text-align: center"><h1>第一頁(yè)內(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="">懶人開(kāi)發(fā)網(wǎng)</a></p>');           //第二頁(yè)         $pdf->AddPage();         $pdf->writeHTML('<h1>第二頁(yè)內(nèi)容</h1>');           //輸出PDF         $pdf->Output('t.pdf', 'I');//I輸出、D下載
          登錄后復(fù)制

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

          這部分是百度過(guò)來(lái)的,網(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); }
          登錄后復(fù)制

          2:搜索下面這行代碼

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

          替換成:

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

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

          補(bǔ)充

          laravel5.8引入第三方類(lèi)庫(kù)的方法詳解

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

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

          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"         ]     },
          登錄后復(fù)制

          添加你第三方類(lèi)庫(kù)的位置到autoload中

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

          composer dump-autoload

          4:調(diào)用:

          (1):使用命名空間

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

          (2):調(diào)用

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

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

          至此,laravel引入第三方類(lèi)庫(kù)成功。

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

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)