2

我正在尝试通过 javascript 以横向格式打印页面。我在HTML 的横向打印中找到了一些解决方案,但这些不符合我的需要。

CSS 片段@media print{@page {size: landscape}}工作正常,但我不知道如何使它从 javascript/jquery 工作。我尝试通过 javascript 执行此操作的原因是因为我想要 2 个用于打印的按钮。一个普通的打印按钮可以像显示的那样打印内容,第二个按钮可以稍微改变页面并以横向模式打印。

简而言之:我想将页面方向(或在 CSS 中称为大小)更改为 javascript 中的横向,但 javascript 旋转不会这样做,因为它也会旋转页面上的文本。有没有办法在不使用不同的布局/CSS制作单独的页面的情况下实现我想要做的事情?

提前致谢。

4

1 回答 1

4

您可以在另一个样式表上移动该规则并在单击时动态添加它:

$("#printLandscape").on('click',function () {
    $('head').append('<link href="printLandscape.css" title="printLandscape" rel="stylesheet" />');
});

我假设您的“以横向模式打印”按钮有一个printLandscapeID。

现在,为了确保即使在第一次单击按钮后用户也能够以正常模式打印,您可以向“以正常模式打印”按钮添加另一个侦听器:

$("#printNormal").on('click',function () {
    $('link[title="printLandscape"]').attr('disabled', 'disabled').remove();
});

为此,您必须将 a 设置title为横向样式表(在这种情况下我称之为printLandscape

于 2012-09-28T16:11:00.857 回答