在CSS中,可以设置@page属性,如下所示.
@media print{@page {size: landscape}}
@page是CSS 2.1 specification的一部分,但是这size
并不像问题Is @Page { size:landscape} obsolete?的答案那样突出显示:
CSS 2.1不再指定大小属性.当前的工作 CSS3寻呼媒体模块草案确实规定了这一点(但这不是 标准或接受).
如上所述,尺码选项来自CSS 3 Draft Specification码.从理论上讲,它可以设置为页面大小和方向,尽管在我的示例中省略了大小.
对bug report begin filed in firefox的支持非常复杂,大多数浏览器都不支持.
这似乎在IE7中起作用,但这是因为IE7将记住用户在打印预览中最后 Select 的横向或纵向(只有浏览器重新启动).
This article确实有一些建议的解决方法,使用JavaScript或ActiveX将密钥发送到用户浏览器,尽管它们并不理想,并且依赖于更改浏览器的安全设置.
或者,您可以旋转内容而不是页面方向.这可以通过创建一个样式并将其应用于包含这两条线的主体来实现,但这也会产生许多对齐和布局问题.
<style type="text/css" media="print">
.page
{
-webkit-transform: rotate(-90deg);
-moz-transform:rotate(-90deg);
filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}
</style>
我找到的最后一个 Select 是在PDF中创建一个横向版本.您可以指向这样,当用户 Select 打印时,它会打印PDF.但是,在IE7中,我无法将其用于自动打印工作.
<link media="print" rel="Alternate" href="print.pdf">
总而言之,在一些浏览器中,使用@page size选项是相对容易的,但是在许多浏览器中没有确定的方法,这取决于您的内容和环境. 这可能是为什么Google Documents在 Select Print时创建一个PDF,然后允许用户打开并打印该PDF的原因.