来自 HTML 中的新页面 kartik\mpdf (Yii2)
Posted
技术标签:
【中文标题】来自 HTML 中的新页面 kartik\\mpdf (Yii2)【英文标题】:New page from HTML in kartik\mpdf (Yii2)来自 HTML 中的新页面 kartik\mpdf (Yii2) 【发布时间】:2016-06-01 10:38:04 【问题描述】:我有问题。如何将新页面从 html 添加到 PDF?
马上我会说我不知道为什么,但解决方案如:
<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_nextfont-family:DoodlePentableborder-collapse:collapse;width:100%tdborder:1px solid #000',
]);
return $pdf->render();
有没有人有这方面的经验可以帮助你?
【问题讨论】:
能否提供一个 HTML/PHP 代码示例? 当然。我把代码放在上面。 :) 【参考方案1】:从docs 看来,您可以使用HTML
之类的:
<pagebreak />
or
<tocpagebreak />
或PHP
:
$mpdf->AddPage();
$mpdf->TOCpagebreak();
但是您已经说过您尝试了 html 并且无法正常工作。 Maybe you have a parent element with float?
【讨论】:
不,我没有设置浮动。好的,它可以工作。
我用这个方法: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_nextfont-family:DoodlePentableborder-collapse:collapse;width:100%tdborder:1px solid #000.page-break display: none;
@media print
.page-breakdisplay: block;page-break-before: always;
',
]);
return $pdf->render();
【讨论】:
完美,它适用于 HTML:以上是关于来自 HTML 中的新页面 kartik\mpdf (Yii2)的主要内容,如果未能解决你的问题,请参考以下文章
Yii2 - kartik-v/mpdf - 标题仅在第一页
如何在yii2中向kartik yii-mpdf添加自定义字体
DJANGO 将 AJAX 请求中的新结果值渲染到 HTML 页面