如何在网页中打印图像,以适合纸张尺寸(A3,A4,A5等)?

Cha*_*Iem 10 javascript css media printing

我目前正在使用IE9和媒体查询,我没有必要在其他浏览器上使用它.

我尝试使用一组规则,如:

@page {
    size: auto;
    margin: 10mm 10mm 10mm 10mm;
}
Run Code Online (Sandbox Code Playgroud)

// ...符合所有A格式(A0,A1,A2等)的毫米数的规则,包括边距和公差

/* A4 210x297 mm */
@media print and (min-height: 266mm) and (max-height: 288mm) and
    (min-width: 179mm) and (max-width: 201mm) {
    .img_port {
        height: 267mm !important;
    }
}
Run Code Online (Sandbox Code Playgroud)

// ...

它似乎工作但它不可靠,因为传递给CSS的大小高度和宽度值似乎依赖于打印机,即使总是选择A4格式.

我想问的是,是否有任何其他可能的方法来获得相同的结果(根据纸张尺寸在一页上拟合图像).

先感谢您.

Rei*_*son 2

IE 中打印的长处和短处是你永远无法准确地控制这样的事情。

从物理上讲,打印机在页面可打印区域的大小方面具有不同的功能。然后,您还必须处理 IE 从用户打印的最后一页中记住的任何设置,例如缩放、边距、每页页数等。

经过多年的努力,我终于放弃了对 IE 对打印页面的控制的尝试,并开始将我的打印样式表更像是建议。

IE < 9 根本不以任何有意义的方式支持分页或@page,并且在我的测试中,IE9 简单地忽略几乎所有@page 规则,转而支持用户上次配置的任何设置。

要建议 IE 以页面的全宽和全高打印图像,请尝试答案从 HTML 横向打印