问题摘要:我希望能够检测用户打印机的页面大小,以便我可以根据打印机的页面大小发送不同的页面布局。
示例用例:我们的用户是企业。有些用户想要打印基本收据(因此他们有小型打印机),有些用户想要打印发票(即普通 8" * 11" 页)。根据打印机的页面大小,我们可以识别应该发送到打印机的格式。
CSS 规范:理想情况下,会有一个针对不同页面大小的 CSS 媒体设置。CSS标准一直在努力,在CSS 2.1规范中它说
但是,在选择打印介质时,打印机应该由 CSS 大小属性提供的页面大小值指导。
/* style sheet for "A4" printing */
@media print and (width: 21cm) and (height: 29.7cm) {
@page {
margin: 3cm;
}
}
/* style sheet for "letter" printing */
@media print and (width: 8.5in) and (height: 11in) {
@page {
margin: 1in;
}
}
现实世界的实现:那么这是如何在主要浏览器中实现的。有没有人实施过这个?它适用于哪些浏览器?什么代码实际上有效?
附加信息: 看起来这在一些浏览器中工作。这适用于页面大小,而不仅仅是横向/纵向。
@media print { @page {size: landscape } }