使用@page的mpdf 7.1.8页面大小表现异常

时间:2019-02-07 15:12:16

标签: php css mpdf

有人可以解释我在带有裁剪标记的页面上生成具有不同页面大小的PDF时遇到的奇怪行为吗? (我的设置:mPdf 7.1.8,PHP 7.2.4,Windows 8.1)

给定的脚本在运行时会创建一个名为mp2.pdf的pdf(您可以从http://marencin.sk/d/mp2.pdf下载输出)。与预期相反,该文件的第9-10页宽度约为95毫米(但应为208和209毫米),高度为354毫米(应为230和240毫米)。

我认为应该可以在其他地方解决的第二个奇怪之处是,当我使用@page { size: {ww}mm {hh}mm }设置页面大小时,这在以下页面中可见,而不是在当前页面上可见。有什么线索可能会导致这种情况,以及如何修改当前页面?

当您查看半透明的橙色矩形(其尺寸和位置应与当前页面的尺寸和位置相同)时,这两个问题是可见的。

我正在寻找的答案是:

  1. 为什么页面大小在第8页之后变为奇怪的尺寸?
  2. 如何设置“当前页面”的页面尺寸。

谢谢

mxl

<?php

require_once __DIR__ . '/vendor/autoload.php';
$www = 297;
$hhh = 420;
$mpdf = new \Mpdf\Mpdf(['format' => [$www, $hhh]]);
for($a = 0; $a < 10; $a ++)
{
    if($a)
        $mpdf->AddPage();
    $hh = $a * 10 + 150;
    $ww = $a + 210;
    $c = $a * 500 + 0x4e01;
    $d = $a * 80 + 0x4e25;
    $h2 = ($hhh - $hh) / 2 + $hh + 10;
    $xx = ($www - $ww) / 2;
    $yy = ($hhh - $hh) / 2;
    $ht = "<h1><span style='color: cmyka(16, 32, 64, 75, 0.5);'>Hello</span> world!</h1><p style='font-family: Sun-ExtA'>你好  &#$c;&#$d;</p>
<style>@page {
    size: {$ww}mm {$hh}mm;
    margin: 10mm;
    margin-header: 5mm;
    margin-footer: 5mm;
    marks: crop;
}
</style>
<div style='position: absolute; left: {$xx}mm; top: {$h2}mm; font-size: 8pt;'>$a</div>
<div style='position: absolute; left: {$xx}mm; top: {$yy}mm; width: {$ww}mm; height: {$hh}mm; background: rgba(255, 128, 0, 0.5);'>&nbsp;</div>";
    $mpdf->WriteHTML($ht);
}
$mpdf->Output('mp2.pdf', \Mpdf\Output\Destination::FILE);

0 个答案:

没有答案