我正在尝试使用 mpdf 从我的原始 wyswyg生成 1:1 a4 页面到 pdf。所以使用这个CSS:
#editor {
background-color: gray;
border: 1px black;
padding: 1em 2em;
}
.page {
background-color: white;
border-style: solid;
border-color: black;
border-width: 1px;
/*padding: 10em 2em;*/
width: 595px;
height: 841px;
display: flex;
flex-direction: column;
}
.content {
word-wrap: break-word;
overflow-wrap: break-word;
white-space: normal;
padding-left: 2cm;
padding-bottom: 2cm;
padding-top: 2cm;
outline-color: white;
}
.header {
background-color: red;
text-align: center;
}
.footer {
background-color: darkgray;
margin-top: auto;
height: 100px;
page-break-after:right;
}
.brasao {
height: 60px;
width: 60px;
}
#template {
display: none;
}
应用于此 HTML + JS:https ://jsitor.com/FWvNJa7XN 如您所见,在 div 页脚上使用margin-top:auto,至少在网络浏览器上,我能够将页脚粘贴在每个页面的底部.
但是当我尝试使用 mpdf 编写时:
<?php
use Mpdf\Mpdf;
use Mpdf\Output\Destination;
include 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
$mpdf = new Mpdf();
//via JS as I able to send each page outerHTML separated on hidden values
$pages = $_REQUEST['pages'];
$mpdf = new \Mpdf\Mpdf([
'mode' => 'utf-8',
'format' => 'A4',
'margin_left' => 0,
'margin_right' => 0,
'margin_top' => 0,
'margin_bottom' => 0,
'margin_header' => 0,
'margin_footer' => 0,
'dpi' => 72
]);
$stylesheet = file_get_contents('redator.css');
$mpdf->WriteHTML($stylesheet, \Mpdf\HTMLParserMode::HEADER_CSS);
foreach ($pages as $page) {
$mpdf->WriteHTML($page);
}
$mpdf->Output();
在 Firefox 上呈现的是这样的(包括编辑器 div): https ://i.imgur.com/UJldBr9.png
但是,使用 mpdf,结果不是预期的: https ://www.docdroid.net/vP4QALq/mpdf.pdf
那么,如何尝试在 mpdf 上进行 1:1 渲染呢?
慕婉清6462132
MMTTMM
阿晨1998