我有一个HTML报告,需要打印的景观,因为许多列。是否有一种方法可以做到这一点,而不需要用户更改文档设置?

浏览器中有哪些选项。


当前回答

这对我也很管用:

@media print and (orientation:landscape) { … }

其他回答

你可以使用css2 @page规则,它允许你将“size”属性设置为横向。

-webkit-transform: rotate(-90deg); -moz-transform:rotate(-90deg);
     filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);

在Firefox 16.0.2中不能运行,但在Chrome中可以运行

我曾经尝试解决这个问题,但我所有的研究都将我引向了ActiveX控件/插件。浏览器(至少在3年前)没有允许更改任何打印设置(副本数量,纸张大小)的技巧。

我努力提醒用户,当浏览器打印对话框出现时,他们需要选择“横向”。我还创建了一个“打印预览”页面,这比IE6的要好得多!我们的应用程序在一些报告中有非常宽的数据表,打印预览会清楚地告诉用户什么时候表格会溢出纸张的右边缘(因为IE6也不能处理2张纸的打印)。

是的,人们至今仍在使用IE6。

你可以尝试以下方法:

@page {
    size: auto
}

这对我也很管用:

@media print and (orientation:landscape) { … }