2

JavaScript を使用してページを横向きで印刷しようとしています。Landscape printing from HTMLでいくつかの解決策を見つけましたが、それらは私のニーズに合いません。

CSS スニペット@media print{@page {size: landscape}}は正常に動作しますが、javascript/jquery から動作させる方法がわかりません。JavaScript を使用してこれを実行しようとしている理由は、印刷用に 2 つのボタンが必要だからです。表示されているようにコンテンツを印刷する 1 つの通常の印刷ボタンと、ページを少し変更して横向きモードで印刷する 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();
});

これを行うには、をランドスケープスタイルシートに設定する必要がありtitleます(この場合、私はそれを呼び出しましたprintLandscape

于 2012-09-28T16:11:00.857 に答える