2016-12-20 4 views
0

добавить $pdf->set_option('isPhpEnabled', true); как это:Как добавить номер страницы в 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'); 
} 

В теле (View) добавить так:

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

Существует существует ошибка, как это:

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

Примечание:

Я использую barryvdh/laravel-dompdf ":"^0.7.0 "(v0.7)

Есть ли люди, которые могут мне помочь?

+0

@ Ohgodwhy, я все еще смущен. Это: '$ dompdf-> set_option (" isPhpEnabled ", true);'. Он был помещен в контроллер или где? –

+0

Это правильно. во время выполнения (в настоящее время, как у вас есть это в контроллере) хорошо. – Ohgodwhy

+0

@ Ohgodwhy, Но почему еще ошибка. Похоже, мой код верен –

ответ

0

Пожалуйста, используйте setOptions() вместо 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'); 
} 

и номер страницы,

  1. Прежде всего, пожалуйста, не использовать что-то вроде <script type="text/php"> ...
  2. Там нет функции, как такие как page_text и не передаются в формате $ pdf, а данные.

Единственный способ номер страницы может быть добавлен использует page-breaks

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

Добавьте к вашему мнению, а затем самостоятельно добавить номера страниц в виде текста.

+0

Существует такая ошибка: 'Call to undefined method Barryvdh \ DomPDF \ PDF :: setOptions()' –

+0

@samueltoh Кажется, нет 'setOptions()' в 0.7.0 .... Пожалуйста, сделайте 'composer remove barryvdh/laravel-dompdf', а затем 'composer require barryvdh/laravel-dompdf' – prateekkathal

+0

Не удалось. Посмотрите здесь: http://postimg.org/image/8glbaktz1/ –