【发布时间】:2015-03-28 10:22:35
【问题描述】:
通过 Javascript(或 jquery)是否可以执行以下操作之一...
- 找出浏览器打印对话框的当前页面大小和方向。
或
- 为浏览器的打印对话框设置(或至少建议)页面大小和方向。
我有各种尺寸和尺寸的图像,我想提供一个可打印的表格,以充分利用所选的页面大小。 IE。我想缩放和/或旋转图像,使其尽可能多地占据页面。
或者有没有办法在 CSS 中处理这个问题?
【问题讨论】:
-
我认为这在纯 Javascript 中是不可能的。您只能使用将显示打印机对话框的 window.print()。在此对话框中,用户可以更改页面大小和方向,我认为您唯一的选择是询问用户他/她打算打印的页面大小和方向并相应地格式化页面。
-
CSS 将是要走的路。理论上,您可以使用这样的东西:
@media print and (orientation:portrait) {.myImage {-moz-transform:rotate(90deg); -ms-transform:rotate(90deg); -webkit-transform:rotate(90deg); transform:rotate(90deg);}}以确保无论用户的打印对话框设置如何,短、宽的图片始终以横向打印。您可能还想将图片放在一个设置了page-break-inside: avoid;的 div 中。 -
@DoctorDestructo 感谢您的建议。我试过了,但浏览器似乎总是坚持它的大多数方向和纸张大小,不管我在 CSS 中有什么。
-
@xtempore 重点不是改变浏览器的方向设置,而是使内容适合浏览器的方向设置,无论它可能是什么。有关概念验证,请参阅下面的答案。
标签: javascript jquery image printing