从HTML进行横向打印
我有一个HTML报告,由于列很多,因此需要横向打印。是否有一种方法可以执行此操作,而无需用户更改文档设置?
在浏览器中有哪些选项。
回答:
在CSS中,您可以设置@page属性,如下所示。
@media print{@page {size: landscape}}
@page是CSS 2.1规范的一部分,但是size
问题的答案并未突出显示[@Page{size:landscape}是否已过时?:
CSS 2.1不再指定size属性。CSS3 Paged Media模块的当前工作草案确实指定了它(但这不是标准的或不可接受的)。
如前所述,size选项来自CSS 3DraftSpecification。从理论上讲,可以将其设置为页面大小和方向,尽管在我的示例中省略了页面大小。
该支持与在Firefox中开始提交的错误报告非常混杂,大多数浏览器不支持该报告。
它似乎可以在IE7中使用,但这是因为IE7会记住用户在打印预览中最后一次选择横向或纵向的方式(仅重新启动浏览器)。
本文确实提出了一些建议的解决方法,使用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>
我发现的最终替代方法是在PDF中创建横向版本。您可以指向,以便当用户选择打印时它会打印PDF。但是我无法在IE7中自动打印。
<link media="print" rel="Alternate" href="print.pdf">
总之,在某些浏览器中,使用@pagesize选项相对容易,但是在许多浏览器中,没有确定的方法,这取决于您的内容和环境。这也许就是为什么Google文档在选择打印后会创建PDF,然后允许用户打开并打印该PDF的原因。
以上是 从HTML进行横向打印 的全部内容, 来源链接: utcz.com/qa/435210.html