使用 laravel dompdf 服务器提供程序在 pdf 下载上附加 img

Posted

技术标签:

【中文标题】使用 laravel dompdf 服务器提供程序在 pdf 下载上附加 img【英文标题】:attach img on pdf download using laravel dompdf server provider 【发布时间】:2022-01-21 20:43:45 【问题描述】:

我想在下载 pdf 时在我的 pdf 上附加一个图像,我在 laravel 8 版本中使用 dompdf 服务提供商,我使用公共路径方法但图像仍然没有附加 pdf 文件。

 public function invoicepdf($productid, $orderId)
      
            $orderHistory = Order::where('order_id',$orderId)->orderBy('id', 'DESC')->first();
            $orderProductDetails[]=json_decode($orderHistory->product_details,true);
            foreach($orderProductDetails as $orderdata)
              
              foreach($orderdata as $orderDetail )
                 
                  if($orderDetail['product_id']== $productid)
                   
                    $productDetails = $orderDetail; 
                    $marchantdetails = UserData::where('user_id',$orderDetail['marchent_id'])->first();
                  
              
            
          $pdf = PDF::loadView('front_end.invoice',compact('orderHistory','productDetails','marchantdetails'))->setOptions(['defaultFont' => 'sans-serif']);
          // download PDF file with download method
          return $pdf->download('pdf_file.pdf');
       ```

this is my pdf download function or method 

     <div style="text-align: center;">
        <img src=" public_path('public/image.png') " style="width: 100px; height: 100px">
    </div>
   <p>ut aliquip ex ea commodoconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
    cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidata.</p>

this is my pdf blade file code 

when I am using this pubic_path function pdf is downloading but the image is not attached with pdf file, please help me with this.


【问题讨论】:

您是否尝试过使用绝对/相对路径,如果不起作用,请尝试使用 base64 对图像进行编码 如何使用绝对/相对路径,对服务器也有帮助? 相对路径也可以在服务器上使用。对于赦免路径,您可能需要进行一些更改。 【参考方案1】:

使用 此代码在您的刀片文件中,其中 $data

echo '<img src="data:image/jpg;base64,' . $data->image.'">';

【讨论】:

以上是关于使用 laravel dompdf 服务器提供程序在 pdf 下载上附加 img的主要内容,如果未能解决你的问题,请参考以下文章

DOMPDF:图像不可读或为空。 (使用 barryvdh/laravel-dompdf)

使用 Laravel DomPDF 制作 PDF 文件

dompdf 没有从 Laravel 8 和 Livewire 视图下载 PDF

laravel中使用的PDF扩展包——laravel-dompdf和laravel-snappy

Laravel Dompdf 生成 pdf 错误

是否可以使用laravel-dompdf使用阿拉伯字母?