2014-02-26 31 views
0

我想在一个打印操作中打印多个页面时设置页面方向。所以基本上我有一些SVG加载到iframe中,并使用JavaScript window.print()函数。我想让第一页以纵向打印,但第二页要横向打印?我在看css media @print和@page,但无法使其工作,对不同的页面有可能吗?使用css为不同页面打印时设置页面方向

下面是一些示例代码。

var page1 = "<svg height='90' width='200'><text x='10' y='20' style='fill:red;'>Several lines:<tspan x='10' y='45'>page 1</tspan><tspan x='10' y='70'>Second line.</tspan></text></svg>" 
var page2 = "<svg height='90' width='200'><text x='10' y='20' style='fill:red;'>Several lines:<tspan x='10' y='45'>page 2</tspan><tspan x='10' y='70'>Second line.</tspan></text></svg>" 

var divider = "<div class='pagebreak'></div>"; 
var fullcontent = page1 + divider + page2; 
var content = $('#printframe').contents(); 

$('#printframe').contents().find("head") 
    .append($("<style type='text/css'> .pagebreak { page-break-before: always; } </style>")); 

content.find('body').append(fullcontent); 
window.frames["printframe"].focus(); 
window.frames["printframe"].print(); 

回答

0

我不这样做。我需要做几次,我发现的唯一解决方案是为用户创建一个PDF下载并打印。有很多的插件将把你的HTML页面,并将其转换成PDF并正确渲染所有的CSS

+0

我已经在网上搜索,似乎它不可能使用打印介质规则。因为我正在打印svg内容,所以我想知道是否可以使用某些svg属性来完成它?你提到了一些关于插件的东西,这些是什么名字? – user1334589