使用qrcode和图像使用bootstrap在laravel中下载卡

问题描述 投票:0回答:1

我创建了一张带有图像和QR码的卡片。我试图用dompdf以及snappy以PDF格式下载它,但我的问题是我使用了很多引导程序。我试图改变PHP ini中的执行时间,但是再次下载没有图像的卡。我用以下代码尝试过:

我的控制器:

 public function downloadPDF()
{
    $cards = Card::all(); 

    foreach ($cards as $card) {
        if ($cards->last()== $card) {

            $data = [
                'image'=>'images/patient2.jpg',
                'qrcode'=>'generated_qrcodes/'.$card->cin.'.png',
                'nom'=>$card->nom,
                'cin'=>$card->cin,
                'prenom'=>$card->prenom,
                'dateNaissance'=>$card->dateNaissance,
                'dateAffection'=>$card->dateaffection

            ];
        }
    }
    $pdf = PDF::loadView('cards.cardPdf',$data);
    return $pdf->download('card.pdf');

}

我的刀片:

<div class="card w-50 ">        
    <div class="card-body bg-light ">
        <div id="id_div">
            <img class="carte" src="{{ asset($image) }}">                                                                      
        </div>
        <div>            
            <h5 class="card-title text-black"> Nom & Prénom :{{ $nom }} {{ $prenom }} </h5>
            <h5 class="card-title text-black"> Date Naissance : {{ $dateNaissance }}</h5>
            <h5 class="card-title text-black"> CIN : {{ $cin }}</h5>
            <h5 class="card-title text-black"> Date d'affectation : {{ $dateAffectation }}</h5>      
        </div>
        <div class=" text-right">
            <br>                    
            <img src="{{ asset( $qrcode) }}" alt="">                                                                                                          
        </div>
    </div>                     
php laravel-5 bootstrap-4 qr-code
1个回答
0
投票

好的,如果我理解正确的话,你只想在pdf中呈现最后一张卡片吗?

问题是,你在$data循环内的if内宣布for。因此,$data变量不能在它之外访问。此外,如果不是iffor循环每次都会重新分配变量。我也认为你应该利用Eloquent方法。当你打算使用最后一张牌时,为什么要选择所有牌?

最短的解决方案,如果只需要最后一项:

$cards = Card::latest()->first(); 

$data = [
    'image'=>'images/patient2.jpg',
    'qrcode'=>"generated_qrcodes/{$card->cin}.png",
    'nom'=>$card->nom,
    'cin'=>$card->cin,
    'prenom'=>$card->prenom,
    'dateNaissance'=>$card->dateNaissance,
    'dateAffection'=>$card->dateaffection
];

$pdf = PDF::loadView('cards.cardPdf', $data);
return $pdf->download('card.pdf');
© www.soinside.com 2019 - 2024. All rights reserved.