【问题标题】:how to hide sections from pdf view laravel domPDF如何从 pdf 视图中隐藏部分 laravel domPDF
【发布时间】:2016-03-24 16:27:38
【问题描述】:

我只想将刀片上的特定部分显示为 pdf 视图。可以使用 DOMpdf 吗?请指教

   public function pdf()
    {
         $pdf = PDF::loadView('home');
        return $pdf->stream();

    }

【问题讨论】:

    标签: php pdf laravel-5.1 dompdf


    【解决方案1】:

    为什么你不为你的部分创建一个新的刀片文件,你不应该使用任何类型的扩展

    @extends('layout')
    

    所以您只需创建包含您的部分的视图模板文件

    例如,如果你家有那个部分

    @section('topdf')
    <div class="pdfsection">My PDF Goes Here</div>
    @endsection
    

    因此您将创建一个新的刀片文件,例如名称为 mypdf.blade.php 让它只包含代码

    <div class="pdfsection">My PDF Goes Here</div>
    

    那么你的功能就是这样的

    public function pdf()
        {
             $pdf = PDF::loadView('mypdf');
            return $pdf->stream();
    
        }
    

    【讨论】:

      【解决方案2】:

      您可以使用媒体类型来定义仅在 PDF 生成期间应用的样式。例如,在您不想包含在渲染中的部分上将显示设置为无的类。

      @media print {
        .noprint { display: none; }
      }
      <div>
        <p>This will render to the pdf</p>
      </div>
      
      <div class="noprint">
        <p>This will not render to the pdf</p>
      </div>

      您指定的媒体类型取决于配置为使用的 dompdf。在默认安装中,dompdf 使用“screen”媒体类型。更改 dompdf 使用的媒体类型:

      • 在 0.6.2 或更早版本中,将 DOMPDF_DEFAULT_MEDIA_TYPE 配置常量设置为“screen”。

      • 在 0.7.0 或更高版本中,在实例化 dompdf 后调用 $dompdf-&gt;set_option('defaultMediaType', 'print');

      dompdf 还可以识别“dompdf”媒体类型,如果由于某种原因您有一些样式,您只想在使用 dompdf 呈现为 PDF 时使用。由于这是一种非官方媒体类型,其他设备应忽略它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-10
        • 2017-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-18
        • 1970-01-01
        相关资源
        最近更新 更多