2016-12-20 1 views
0

ajouter $pdf->set_option('isPhpEnabled', true); est comme ceci:Comment ajouter un numéro de page dans laravel dompdf?

public function listdata() 
{ 
    $data = User::all(); 

    $pdf=PDF::loadView('print_tests.test_pdf', ['data' => $data]); 
    $pdf->set_option('isPhpEnabled', true); 
    $pdf->setPaper('L', 'landscape'); 
    return $pdf->stream('test_pdf.pdf'); 
} 

dans le corps (Voir) J'ajouter comme ceci:

<script type="text/php"> 
    if (isset($pdf)) { 
     // OLD 
     // $font = Font_Metrics::get_font("helvetica", "bold"); 
     // $pdf->page_text(72, 18, "{PAGE_NUM} of {PAGE_COUNT}", $font, 6, array(255,0,0)); 
     // v.0.7.0 and greater 
     $x = 72; 
     $y = 18; 
     $text = "{PAGE_NUM} of {PAGE_COUNT}"; 
     $font = $fontMetrics->get_font("helvetica", "bold"); 
     $size = 6; 
     $color = array(255,0,0); 
     $word_space = 0.0; // default 
     $char_space = 0.0; // default 
     $angle = 0.0; // default 
     $pdf->page_text($x, $y, $text, $font, $size, $color, $word_space, $char_space, $angle); 
    } 
</script> 

Il y a existe une erreur comme ceci:

FatalThrowableError in PrintTestController.php line 21: Call to undefined method Barryvdh\DomPDF\PDF::set_option() 

Note:

J'utilise barryvdh/laravel-dompdf ":"^0.7.0 "(v0.7

Y a-t-il des personnes qui peuvent m'aider?

+0

@Ohgodwhy, je suis toujours confus. Ceci: '$ dompdf-> set_option (" isPhpEnabled ", true);'. Il a été placé dans le contrôleur ou où? –

+0

C'est exact. au moment de l'exécution (actuellement, comment vous l'avez dans le contrôleur) va bien. – Ohgodwhy

+0

@Ohgodwhy, mais pourquoi encore erreur. Il semble que mon code soit correct –

Répondre

0

S'il vous plaît utiliser setOptions() au lieu de set_option()

public function listdata() 
{ 
    $data = User::all(); 

    $pdf = PDF::loadView('print_tests.test_pdf', ['data' => $data]); 
    $pdf->setOptions(['isPhpEnabled' => true]); 
    $pdf->setPaper('L', 'landscape'); 
    return $pdf->stream('test_pdf.pdf'); 
} 

et numéro de page,

  1. tout d'abord s'il vous plaît ne pas utiliser quelque chose comme <script type="text/php"> ...
  2. Il n'y a pas fonction comme pagetexte et ni $ pdf est passé à la vue, à la place les données sont.

Le seul numéro de page moyen peut être ajouté utilise page-breaks

<style> 
.page-break { 
    page-break-after: always; 
} 
</style> 

ajouter à votre vue, puis par vous-même ajouter des numéros de page sous forme de texte.

+0

Il existe une erreur comme ceci: 'Appel à la méthode non définie Barryvdh \ DomPDF \ PDF :: setOptions()' –

+0

@samueltoh Il semble qu'il n'y ait pas de 'setOptions()' dans 0.7.0 .... S'il vous plaît faire 'composer remove barryvdh/laravel-dompdf' et ensuite 'composer require barryvdh/laravel-dompdf' – prateekkathal

+0

Il a échoué. Regardez ici: http://postimg.org/image/8glbaktz1/ –