14

Rails で Web ページのコンテンツを印刷するためのライブラリや gem が利用できるかどうか疑問に思っています。また、ページの特定の部分 (div など) のみを印刷するように指定する方法があるかどうかも疑問に思っていました。ポインタ、アドバイス、またはチュートリアルへのリンクをいただければ幸いです。

編集

そこで、印刷に適したビューを作成するスタイルシートの作成に挑戦しました。これを「print.css」と呼びましょう。

div.transpose-keys, div#editSong, div#navigation, div#debug{
    display: none;
}

そして、アプリケーションが印刷アクションを起動したときにのみ適用できる方法があるかどうか疑問に思っていましたか? 次のリンクをクリックすると、アプリケーションは印刷前に上記の css を適用しますか? 埋め込まれた ruby​​ html のリンクは次のとおりです。

<%= link_to "PRINT", '#', onclick: "printpage()" %>

そして最後に、印刷機能を呼び出す私のJavaScript:

function printpage()
  {
  window.print()
  }
4

5 に答える 5

13

次のようにprint.cssを追加すると

<link rel="stylesheet" type="text/css" media="print" href="print.css">

ブラウザの印刷ダイアログを使用すると、print.css のスタイルに従ってページが自動的にフォーマットされます。

于 2012-07-19T15:40:30.817 に答える
6

この簡単な解決策を使用して問題を回避しました。

print.css :

@media print {
  div.info, div#editStuff, div#navigation, div#debug {
    display: none;
  }
}

@media タグにより、これらが印刷版に表示されないことが保証されます。

アプリケーション.js :

function printpage()
{
   window.print()
}

show.html.erb :

<%= link_to "PRINT", '#', onclick: "printpage()" %>
于 2012-07-19T15:41:08.760 に答える
2

これが一般的に行われる方法は、必要な情報だけが表示された「プリンターに適した」ウィンドウを開き、そこからユーザーが Web ブラウザーを介して印刷することだと思います。そのウィンドウに JavaScript を追加することで、もう少し使いやすくすることができます。

window.print();
于 2012-07-19T15:04:04.430 に答える