代码之家  ›  专栏  ›  技术社区  ›  Robert

单页打印

  •  2
  • Robert  · 技术社区  · 7 年前

    我有一个相当大的图像页面,我宁愿让它按比例缩放,而不是在第一页的末尾切掉,然后在下一页继续。我想把整页打印在一张纸上:介绍文本、大图像和页脚文本。我该怎么做?

    <!DOCTYPE html>
    <html>
    <head>
    <style>
    @media print {
        @page {
            max-height: 95%; 
            max-width: 95%;
            page-break-inside: avoid;
        }
    /*
        html, body {
            max-height: 95%;
            max-width: 95%;
        }
        svg {
            max-width: 95%;
            max-height: 95%;
        }
    */
    }
    </style>
    </head>
    <body>
    
    <h1>Print test</h1>
    <p>text before</p>
    <svg width="500" height="1000">
        <rect width="500" height="1000"/>
    </svg>
    <p>text after</p>
    
    </body>
    </html>
    

    max-width max-height with height

    page-break-inside: avoid 是相反的生产力:没有它,我得到2页,有了它我得到3页(文本在它自己的页面上的图像之前,然后是图像的大部分,然后是其余的)。我想浏览器会尽量遵守这条规则,并通过将图片之前的文本推到第一页来在第二页上腾出更多的空间。

    scale(...) 因为不是所有的页面都有这么大的图像,我不想放大一个容易适应页面的图像。不过,我知道图像的像素尺寸。

    如何让浏览器根据需要缩放页面并在一张纸上打印整个页面?

    0 回复  |  直到 7 年前