【问题标题】:How to print an image with DomPDF in laravel?如何在 laravel 中使用 DomPDF 打印图像?
【发布时间】:2020-12-05 07:42:39
【问题描述】:

我正在制作一个 pdf,为此我使用库:barryvdh/laravel-dompdf,在 pdf 中我尝试打印一个图像,当我打开最近下载的文件时,所有除了图像之外的数据都被打印出来,如果它在我的 show.blade 视图中正确显示,我会澄清这个图像,我找不到这个问题的解决方案。 下面我详细说明我是如何进行的:

控制器:(store方法和exportPdf方法的片段)

    public function store(SaveDocumentRequest $request)
    {
    if ($request->hasFile('photo')) {               

        $file = $request->file('photo');
        $name = time().$file->getClientOriginalName();
        $file->move(public_path().'/images/', $name);   
    }else{
          $name = null; 
    }  
   $document->photo  = $name;
    public function exportPdf()
    {
        $movie = Movies::with('document.creator', 'actors', 'generate_movie', 'document.adequacy', 'document.lenguage')->first();

        $pdf = PDF::loadView('admin.movies.show', compact('movie'));  
       
        return $pdf->download('cine.pdf');
    }

我的 show.blade 文件:

<div class="col-md-6">    
        <div class="box box-primary">
            <div class="box-header with-border">
              <h3 class="box-title">Imagen de Portada </h3>
            </div>        
            <div class="box-body box-profile">                                          
                <img class="img-responsive" src="{{ asset('/images/'.$movie->document->photo) }}"  alt="{{ $movie->document->title }}" >
            </div>
        </div>
    </div>  

这样我访问的图像,如果它在我的 show.blade 文件中正确显示,但它没有显示在下载的 pdf 中。

我澄清一下,我没有收到任何类型的错误,并且图像存储在项目的公用文件夹中。

您能指导我找到解决方案吗?

【问题讨论】:

  • 尝试使用 public_path() {{ public_path('/images/'.$movie-&gt;document-&gt;photo) }} 或使用 base_path() {{ base_path('/images/'.$movie-&gt;document-&gt;photo) }}
  • 正如@sta 所说,您可以尝试更改路径,如果它不起作用,请尝试此答案,stackoverflow.com/questions/37952877/…

标签: php laravel laravel-blade dompdf


【解决方案1】:

它很简单,只需使用这个我已经使用了相同的包并像这样在 pdf 上添加了图像。

 <img  src="{{asset('foldername/path_to_image')}}">

【讨论】:

  • 我的项目在本地主机上。您给我的解决方案是否已在 localhost 中实施?
  • 嗨,很抱歉迟到了,它在两种环境下都可以正常工作
  • 只是我在做&lt;img class="img-responsive" src="{{ asset('images/'.$movie-&gt;document-&gt;photo) }}" alt="{{ $movie-&gt;document-&gt;title }}" &gt; 出于某种原因它对我不起作用
  • 您能否打印此路径`dd('images/'.$movie->document->photo)`并确认图像是否存在,我认为您有空对象或打印路径后确认是否图片已经存在了。
  • 记住图片在浏览器中是可以看到的,但是下载pdf的时候,除了图片之外的所有数据都显示出来了 Inspecting with dd('images/'.$movie-&gt;document-&gt;photo) 结果如下:"images/1597609005piano_concertos.jpeg",就是这样图片路径
猜你喜欢
  • 1970-01-01
  • 2021-12-07
  • 2021-10-16
  • 1970-01-01
  • 1970-01-01
  • 2018-08-27
  • 2014-12-24
  • 2017-01-17
  • 1970-01-01
相关资源
最近更新 更多