2016-03-24 56 views
0

私のブレードの特定のセクションのみをPDFビューに表示したい。 DOMpdfを使用することは可能ですか?あなたは自分のセクションのための新しいブレード・ファイルを作成しない、とあなたはpdfビューからセクションを非表示にする方法laravel domPDF

@extends('layout') 

のような拡張のいずれかの種類を使用してはならない理由plsは助言

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

    } 

答えて

1

ので、あなただけのビューテンプレートを作成します。あなたの家はそうセクション

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

ことを持っている場合たとえば、あなたのセクション

を含むファイルあなたは、あなたの関数は、あなたが使用できること

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

    } 
0

のようになります名前mypdf.blade.php で例えば新しいブレード・ファイルを作成し、それだけでコード

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

が含まれているようになりますPDF生成中にのみ適用されるスタイルを定義します。たとえば、レンダリングに含めたくないセクションの表示をnoneに設定するクラスです。メディアは、指定した入力

@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>

1 DOMPDFを使用するように設定されているに依存します。デフォルトのインストールでは、dompdfは "screen"メディアタイプを使用します。 DOMPDFが使用するメディアの種類を変更するには:0.6.2で

  • を以前DOMPDF_DEFAULT_MEDIA_TYPE構成に一定の「画面」を設定します。

  • 0.7.0以降では、dompdfのインスタンス化後に$dompdf->set_option('defaultMediaType', 'print');を呼び出します。

DOMPDFも何らかの理由であなたには、いくつかのスタイルを持っている場合にのみDOMPDFでPDFにレンダリングするときに使用する、「DOMPDF」メディアタイプを認識します。これは非公式なメディアタイプなので、他のデバイスは無視する必要があります。

関連する問題