Chrome CSS在打印中创建全页无边距纯色背景

iqih9akk  于 2023-11-14  发布在  Go
关注(0)|答案(1)|浏览(174)

我尝试在从Chrome打印时为整个打印页面设置纯色背景色。页面上的内容是一个长度未知的动态列表,可能跨越多个页面。
为了删除白色边距,我使用@page规则将边距设置为0 mm。
有两个问题我没有找到解决办法。
1.无法为后续页面上的内容设置上边距
1.无法用纯色填充最后一页到底部
我得到了什么:

<html>    
<head>
    <style>
    @page {  
        margin: 0mm; }
    html {    
        -webkit-print-color-adjust: exact;    
        background-color: coral;     
        font-size: 150%; }
    h1 {
        padding-top: 50mm;}
    </style>
    </head>
    <body>
    <h1>Items</h1>
    <ul>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
        <li>Lorem</li><li>Ipsum dolor</li><li>Sit amet</li>
    </ul>
    </body>
    </html>

字符串
在Chrome中打印渲染(来自已保存的PDF):x1c 0d1x

mbzjlibv

mbzjlibv1#

我目前遇到了和你一样的问题。我已经找到了第二部分的解决方案,你可以在这里阅读:
Have margins for content but not background on every page when converting/printing HTML to PDF
这里:
https://stackoverflow.com/a/70079034/1222240
你必须创建一个div与位置:固定,然后宽度和高度为100%,设置z-index为0,然后你可以改变背景颜色,它将被打印在每一页
容器div需要具有position:relative和z-index:1
对于我在puppeteer中解决的第一个问题(我使用它来创建页面的PDF版本,通过在引擎盖下由Google“打印”),通过使用库的页眉和页脚属性,在转换/打印HTML到PDF时,每个页面上都有内容的边距,但没有背景

相关问题