2016-06-01 3 views
0

У меня проблема. Как добавить новую страницу из HTML в PDF?Новая страница из HTML в kartik mpdf (Yii2)

Сразу скажу, что я не знаю, почему, но такие решения, как:

<pagebreak /> 

или

h1 {page-break-before: always} 

не работает.

Мой PHP код:

$pdf = new Pdf([ 
    'mode' => Pdf::MODE_UTF8, 
    'format' => Pdf::FORMAT_A4, 
    'orientation' => Pdf::ORIENT_PORTRAIT, 
    'destination' => Pdf::DEST_FILE, 
    'filename' => $path, 
    'content' => $content, 
    'cssInline' => '.font_next{font-family:DoodlePen}table{border-collapse:collapse;width:100%}td{border:1px solid #000}', 
]); 
return $pdf->render(); 

Кто-нибудь есть этот опыт и может помочь вам?

+0

могли бы вы предоставить образец кода HTML/PHP? – Finwe

+0

Несомненно. Я поставил код выше. :) –

ответ

2

OK, он работает.

Я использую этот метод: https://davidwalsh.name/css-page-breaks

В HTML:

<div className="page-break"></div> 

В PHP:

$pdf = new Pdf([ 
    'mode' => Pdf::MODE_UTF8, 
    'format' => Pdf::FORMAT_A4, 
    'orientation' => Pdf::ORIENT_PORTRAIT, 
    'destination' => Pdf::DEST_FILE, 
    'filename' => $path, 
    'content' => $content, 
    'cssInline' => ' 
     @media all{ 
      .font_next{font-family:DoodlePen}table{border-collapse:collapse;width:100%}td{border:1px solid #000}.page-break {display: none;} 
     } 
     @media print{ 
      .page-break{display: block;page-break-before: always;} 
     } 
    ', 
]); 
return $pdf->render(); 
+0

Отлично, он работает в HTML:

2

С docs, похоже, вы можете использовать либо HTML как:

<pagebreak /> 
or 
<tocpagebreak /> 

Или PHP:

$mpdf->AddPage(); 
$mpdf->TOCpagebreak(); 

Но вы уже сказали, что вы пробовали HTML и din't работу. Maybe you have a parent element with float?

+0

Нет, у меня нет установленного поплавка. тоже не работает. –

+0

работает спасибо! –