我有一个图像很大的页面,我希望它按比例缩放(而不是在第一页末尾切下并在下一页继续)。我希望将整个页面打印在一张纸上:前奏文本,大图像和页脚文本。我该怎么办?
<!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
),但是Firefox仍然无法显示图像。
page-break-inside: avoid
会产生相反的效果:没有它,我将得到2页,有了它我将得到3页(图像在其自身页面上的文本,然后是图像的大部分,然后是其余部分)。我想浏览器会尝试遵循该规则,并通过将图像之前的文本推到第一页来在第二页上留出更多空间。
我不愿意使用scale(...)
,因为并非所有页面都有如此大的图像,并且我不想放大容易适合该页面的图像。我确实知道图像的尺寸(以像素为单位)。
如何让浏览器根据需要缩放页面并将整个页面打印在一张纸上?