mPDF - 仅在奇数页上显示背景

Posted

技术标签:

【中文标题】mPDF - 仅在奇数页上显示背景【英文标题】:mPDF - Show background only on odd pages 【发布时间】:2019-12-13 06:55:18 【问题描述】:

使用 mPDF,我尝试仅在奇数页上应用背景图像。

这可行(只有奇数页会变红):

$pdf->SetDefaultBodyCSS('background', 'red');
$pdf->Writehtml('test');
$pdf->SetDefaultBodyCSS('background', 'white');
$pdf->AddPage();
$pdf->WriteHTML('test');

但这不起作用(背景显示在第 1 页和第 2 页上):

$pdf->SetDefaultBodyCSS('background', 'url(\'./pdf-bg.png\')');
$pdf->WriteHTML('test');
$pdf->SetDefaultBodyCSS('background', 'none');
$pdf->AddPage();
$pdf->WriteHTML('test');

到目前为止我尝试了什么:

使用命名页面(例如@page oddpage),它完全改变了页面参数并破坏了布局

使用 @page :first,我不能使用 :first 因为我需要每个奇数页面都有背景,而不仅仅是第一个

有什么线索吗?提前感谢您!

【问题讨论】:

【参考方案1】:

我最终找到了一种解决方法,虽然不是我最喜欢的解决方案,但它确实有效!

$pdf->SetDefaultBodyCSS('background-image', 'pdf-bg.png');
$pdf->SetDefaultBodyCSS('background-image-resize', 6);
$pdf->SetDefaultBodyCSS('background-image-resolution', '300dpi');
$pdf->WriteHTML('test');
$pdf->SetDefaultBodyCSS('background-image', 'pdf-bg-white.png'); // Reset background to a blank page
$pdf->AddPage();
$pdf->WriteHTML('test');

所以基本上使用background-image CSS 属性而不是background 并使用全白背景重置背景以模拟空白页。

【讨论】:

以上是关于mPDF - 仅在奇数页上显示背景的主要内容,如果未能解决你的问题,请参考以下文章

mpdf - 第一页上的文本延伸到第二页,与页眉重叠

如何使我的背景图像仅出现在 rails 4 的一页上?

用JS文件如何设置奇数表格行背景和偶数表格行背景

将背景图像复制到使用 mpdf 生成的 pdf 中的其他页面

背景图像仅在重新加载页面后显示

mPDF 仅在启用 progressBar 时“完成”